Skip to content

Add operator kernel delcgtga_delcgtgb - #448

Merged
evaleev merged 4 commits into
evaleev:masterfrom
ak-ustutt:delcgtga-delcgtgb
Oct 25, 2026
Merged

evaleev merged 4 commits into
evaleev:masterfrom
ak-ustutt:delcgtga-delcgtgb

Conversation

@ak-ustutt

Copy link
Copy Markdown
Contributor

Adding a generalisation of the (del CGTG)^2 kernel allowing for two different expansions of the contracted GTGs

  • adds extensions to headers in engine.h and engine.impl.h
  • provides a unit test

ak-ustutt and others added 4 commits October 24, 2026 23:17
Two-geminal generalization of delcgtg2: (Delta . CGTG a) . (Delta . CGTG b),
with params std::array<ContractedGaussianGeminal,2>{a, b}.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Checks against delcgtg2: for a = b the integrals must reproduce
delcgtg2(a); for a != b they must be symmetric in (a, b) and satisfy
the polarization identity
  (Del g_a).(Del g_b) = (delcgtg2(g_a + g_b) - delcgtg2(g_a) - delcgtg2(g_b)) / 2

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ter set(Operator)

- drop the empty default params of delcgtga_delcgtgb (like delcgtg2), so an
  engine constructed without params throws instead of silently producing zeros
- init_core_ints_params: descriptive errors for missing/wrong-typed params and
  negative geminal exponents for delcgtg2 and delcgtga_delcgtgb
- Engine::set(Operator) resets core_ints_params_, so params of the previous
  operator (e.g. delcgtg2's geminal) are no longer used by the new operator
- share the compute2 case of delcgtg2 and delcgtga_delcgtgb
- fix the doc of delcgtga_delcgtgb (gradient, not Laplacian; relation to delcgtg2)
- test: 1st derivatives, required/validated params, set(Operator)
…piled library

With LIBINT2_DOES_NOT_INLINE_ENGINE, enforce_params_type was only instantiated
for empty params, so constructing an Engine for delcgtg2 or delcgtga_delcgtgb
(which have no default params and must be constructed with params) failed to
link against libint2-cxx.
@evaleev
evaleev merged commit dc3db96 into evaleev:master Oct 25, 2026
13 checks passed
@evaleev evaleev added this to the 2.14 milestone Oct 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants