Potential bug in HF solver
beykyle opened this issue · 5 comments
In the rose HF solver SchroedingerEquation.phi
, why does one pass in the mesh on which to evaluate phi, and then also the lower end of the domain rho_0
? In particular, in the case that rho_0
is larger than the minimum of the mesh, the accuracy of the solution for s < rho_0
is not guaranteed, see: https://docs.scipy.org/doc/scipy/reference/generated/scipy.integrate.OdeSolution.html#scipy.integrate.OdeSolution
Additionally, any time rho_0 !=
the minimum of mesh, the initial conditions passed to scipy.integrate.solve_ivp are calculated incorrectly.
I would argue that rho_0 and phi_threshold should be removed as arguments, and the initial conditions be calculated based on the mesh. Similar arguments hold for SchroedingerEquation.delta
and s_endpts
.
@pabggpnMSU @odell Does this make sense to ya'll? Thanks!
Did this give some numerical inaccuracies in our solutions? (Do the CAT plots need to be regenerated?)
I believe not, as long as the defaults for s_mesh
and s_0
are used in ScatteringAmplitudeEmulator.from_train
. This is the case for the tutorial, but without seeing the code used for the paper I don't know for sure.