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

The Great Refactor #198

Merged
merged 438 commits into from
Jun 9, 2023
Merged

The Great Refactor #198

merged 438 commits into from
Jun 9, 2023

Conversation

pablosanjose
Copy link
Owner

@pablosanjose pablosanjose commented Jun 9, 2023

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 to supercell, bandstructure to bands and parametric to hamiltonian (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) to transform(h, func) (to keep it consistent with translate(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

@codecov-commenter
Copy link

codecov-commenter commented Jun 9, 2023

Codecov Report

Patch coverage: 93.72% and project coverage change: +22.30 🎉

Comparison is base (c1f7402) 69.68% compared to head (7b0d739) 91.99%.

❗ 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     
Impacted Files Coverage Δ
src/Quantica.jl 100.00% <ø> (ø)
src/types.jl 83.01% <ø> (ø)
src/convert.jl 68.96% <66.66%> (-31.04%) ⬇️
src/slices.jl 85.78% <85.78%> (ø)
src/transform.jl 86.36% <86.36%> (ø)
src/iterators.jl 91.15% <88.13%> (+18.00%) ⬆️
src/observables.jl 90.19% <90.19%> (ø)
src/presets/regions.jl 90.32% <90.32%> (ø)
src/builders.jl 90.54% <90.54%> (ø)
src/solvers/green/kpm.jl 90.83% <90.83%> (ø)
... and 23 more

... and 1 file with indirect coverage changes

☔ View full report in Codecov by Sentry.
📢 Do you have feedback about the report comment? Let us know in this issue.

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 :)
@pablosanjose pablosanjose merged commit 11df0e1 into master Jun 9, 2023
@pablosanjose pablosanjose deleted the greatrefactor branch June 13, 2023 08:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment