-
Notifications
You must be signed in to change notification settings - Fork 8
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
The Great Refactor #198
The Great Refactor #198
Conversation
Codecov ReportPatch coverage:
❗ Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more. Additional details and impacted files@@ Coverage Diff @@
## master #198 +/- ##
===========================================
+ Coverage 69.68% 91.99% +22.30%
===========================================
Files 20 33 +13
Lines 4246 4734 +488
===========================================
+ Hits 2959 4355 +1396
+ Misses 1287 379 -908
☔ View full report in Codecov by Sentry. |
preliminar work module integration fix dependencies checkload + subspace estimation + block filtering method automatic target subspace dimension calculation (KPM) efficient calculation of an n-dimensional block of exp filtered kets using a single Chebyshev filtering loop + cleaning and preparation for PR cleaning documentation New methods for DACP: store basis or not polishing Fix in the only eigvals method tests and deps fix Dep fix Fix doc fail Fix unicode characters rm NumericalIntegration dep We now solve the energy integral in dos() KPM analytically forgot to remove dep rm typo :)
This PR is essentially a complete rewrite of Quantica, now with a much cleaner codebase, higher performance and important new functionality (e.g. in the area of Green functions and observables). It is a breaking change to version 0.5, but hopefully old code should still work with minimal changes. Two of the more prominent ones are changing
unitcell
tosupercell
,bandstructure
tobands
andparametric
tohamiltonian
(the latter merges the functionality of parametric and non-parametric Hamiltonian building). Also, anything related to Green functions needs to be adapted to the new architecture. Some other functions have changed their signature, e.g.transform(func, h)
totransform(h, func)
(to keep it consistent withtranslate(h, dr)
and with currying rules).Note also that VegaLite has been completely replaced by Makie for plotting Hamiltonians and Bandstructures. It is now fully interactive and supports many kinds of shaders for both types of plots.
This PR has complete tests and docstrings, but the manual is work in progress and will be pushed directly to master little by little. Feature parity with v0.5 is not complete, however, since some features have been removed for simplicity, consistency or simply lack of time and interest. Some of these are Hamitonian algebra (things like e.g.
h1^2 + 2h2
are no longer supported -- note that model algebra still works) or gap edge search.Closes #194, closes #180, closes #173, closes #171, closes #158, closes #143, closes #114, closes #65, closes #1, closes #13