The proposal is to introduced an optimized execution path for symmetric potentials by leveraging spatial symmetry. For symmetric systems (symmetric multi-wells and both double wells), we can restrict the integration domain to just the left half of the grid. This halves the integration workload per refinement iteration, improves numerical conditioning, and ensures perfectly symmetric wavefunctions without stitching artifacts.
We need to new methods:
- isPotentialSymmetric()
- computeSymmetricWaveFunction()
and then the existing findBoundStates and getEigenstate can call isPotentialSymmetric and then branches into either the optimized symmetric workflow or the standard general-case workflow depending on the result.
The general, non-symmetric path remains entirely unchanged.
This should address the underlying issue in #52
The proposal is to introduced an optimized execution path for symmetric potentials by leveraging spatial symmetry. For symmetric systems (symmetric multi-wells and both double wells), we can restrict the integration domain to just the left half of the grid. This halves the integration workload per refinement iteration, improves numerical conditioning, and ensures perfectly symmetric wavefunctions without stitching artifacts.
We need to new methods:
and then the existing
findBoundStatesandgetEigenstatecan callisPotentialSymmetricand then branches into either the optimized symmetric workflow or the standard general-case workflow depending on the result.The general, non-symmetric path remains entirely unchanged.
This should address the underlying issue in #52