Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BREAKING] V0.4 #24

Merged
merged 9 commits into from
Dec 7, 2023
Merged

[BREAKING] V0.4 #24

merged 9 commits into from
Dec 7, 2023

Conversation

lxvm
Copy link
Owner

@lxvm lxvm commented Dec 6, 2023

This pr is breaking because it makes all parameters into keyword arguments. The usage is reflected in tests and the docs, and the main advantage is that all parameters are treated in the same way, whereas before there was a distinction between positional and keyword parameters. They can be optionally provided to the integrand constructor and handled consistently with clear precedence relations, which ends up simplifying lots of code.

I did this so that the self energy could be a parameter instead of a positional argument, which clarified how canonical initialization parameters have lower precedence than constructor parameters, which are already lower precedence than the solve-time parameters.

The previous behavior could not cope with mixed canonical parameters and constructor parameters, which made the implementation less robust to different types of user input and less flexible since the order of parameters was fixed.

However, users now have to call their solvers with keyword arguments all of the time. This includes calls to batchsolve for which the keyword parameter vectors can be constructed with paramzip and paramproduct.

This pr also allows the user to pass in an auxiliary function to the auxiliary integrand constructor to control the behavior.

Also, the step size for AutoPTR is now computed more rigorously by estimating the strip of analyticity as 2pi*eta/v/T where v is the L2 norm of the gradient of H and T is the period of the Hamiltonian. The estimate is always performed for the scattering, eta determined from self energy at the Fermi energy

@lxvm lxvm merged commit c21cda8 into main Dec 7, 2023
0 of 7 checks passed
@lxvm lxvm deleted the v0.4 branch December 7, 2023 19:09
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.

1 participant