Skip to content

SOA spherical tensor VGH - #6181

Open
shivupa wants to merge 2 commits into
QMCPACK:developfrom
shivupa:SoaSphericalTensor_evaluateVGH
Open

SOA spherical tensor VGH#6181
shivupa wants to merge 2 commits into
QMCPACK:developfrom
shivupa:SoaSphericalTensor_evaluateVGH

Conversation

@shivupa

@shivupa shivupa commented Aug 30, 2026

Copy link
Copy Markdown
Contributor

Proposed changes

Paul pinged me about progress on #5391 so I started looking into this again! Very exciting.

Implements SoaSphericalTensor<T>::evaluateVGH needed for backflow on molecules eventually.

I started trying to make a molecular backflow test (found while trying to make a test our of the Li2 results of arXiv:0801.0518).
This was the first missing piece evaluateVGHGH will come in a separate PR, which is needed for optimizations.
In this we apply the derivative recurrence relations to the gradient to get the Hessian.

The storage was sized only for VGL, but I resized the storage for future VGHGH even though the last elements (10-19) are not used yet. This is consistent with SoaCartesianTensor.

I used Codegen as the cartesian path does even though the code is actually simpler since we can apply the recurrence relations.

Sympy checks for the recurrence relations and tests for l<=6 and finite difference tests.

Code generated with GPT 5.6 Sol/Max using the Pi harness and reviewed using Claude Opus 5/Medium.

As far as I can tell the storage changes affect offload.

What type(s) of changes does this code introduce?

  • New feature
  • Testing changes (e.g. new unit/integration/performance tests)

Does this introduce a breaking change?

  • No

What systems has this change been tested on?

Ryzen 9950x workstation, Linux, GCC

Checklist

    • I have read the pull request guidance and develop docs
    • This PR is up to date with the current state of 'develop'
    • Code added or changed in the PR has been clang-formatted
    • This PR adds tests to cover any new code, or to catch a bug that is being fixed
    • Documentation has been added (if appropriate)

@github-actions github-actions Bot added cmake python Pull requests that update python code c/c++ labels Aug 30, 2026
Comment thread src/Numerics/SoaSphericalTensor.h Outdated
@ye-luo

ye-luo commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Test this please

@shivupa
shivupa force-pushed the SoaSphericalTensor_evaluateVGH branch from fada3c4 to a87e551 Compare September 3, 2026 17:07
@ye-luo

ye-luo commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

Could you move all the function definition currently already outside the SoaSphericalTensor class to the cpp file? We don't need to keep them in the header file.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

c/c++ cmake python Pull requests that update python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants