Releases: pablosanjose/Quantica.jl
Release list
Release v1.4.0
What's Changed
- SpectralSum - a backend for general spectrum sums by @pablosanjose in #370
- Bugfix to hopradius when flat = false by @pablosanjose in #371
- Support serialization/deserialization to/from vector by @pablosanjose in #373
rangedplot shaders by @pablosanjose in #374- Enable Dependabot by @pablosanjose in #376
- Bump julia-actions/cache from 2 to 3 by @dependabot[bot] in #382
- Bump actions/checkout from 3 to 6 by @dependabot[bot] in #377
- Update DelimitedFiles requirement to 1.9.1 by @dependabot[bot] in #380
- Increase default shellopacity and boundaryopacity by @pablosanjose in #384
- Correctness fixes in
reverseandstitchby @pablosanjose in #386 - Bump julia-actions/setup-julia from 1 to 3 by @dependabot[bot] in #383
- Bugfix:
reverse = trueinattachsubtly broke afterreversechanges of #386 by @pablosanjose in #387 - Ensure
applymodifier!(::StitchModifier,...)writes only on unflat harmonics by @pablosanjose in #390 - Implement
phasemapinjosephsonby @pablosanjose in #392 - Fix multithreaded bands with interactive threads by @pablosanjose in #393
- Make Josephson and DensityMatrix callback receive complex integration point by @pablosanjose in #394
- Make plot radii (sites and hops) scale with nearest neighbor distance by @pablosanjose in #400
- Disallow supercell of a stitched Hamiltonian by @pablosanjose in #401
Full Changelog: v1.3.0...v1.4.0
Release v1.3.0
Changes since v1.2.0
Fixes
- Bugfix in meanfield of spinless superconductors
- Functional cell selectors now respect other selection constraints
New features
- General polish (indexing, api, plotting) and optimizations
- GreenSolver.Spectrum can now be used with ParametricHamiltonians
- Overhauled
stitchfunction that solves a number of issues with ParametricHamiltonians meanfieldcan now accept general models instead of potentials- Built-in, although unexported, Pauli matrices! Do
using Quantica: σto use them - Support for custom color schemes in plots
- Support for Makie 0.24
- Band metadata functionality, including Abelian and non-Abelian Berry curvature
Release v1.2.0
Changes since v1.1.0
Fixes
- Fixed some rare band artifacts (#284)
- Fixed bug in
reverse(#285) - Various plot fixes and updates (#273, #288, #290)
- Remove unnecessary intermediary copies (#292, #333)
- Fixed bug in
supercellwithmincoordination(#296) - Fixed bugs in
combine(#305, #313) - Fixed bug when computing the adjoint of parametric models (#312)
- Fixed aliasing bugs (#319, #321)
- Fixed subtle bug due to type-piracy (#328)
New features
- Unexported
Quantica.retarded_eigvalsandQuantica.decay_lengthsfunctions for 1D AbstractHamiltonians (#289) - Unexported
Quantica.gapandQuantica.gapsfor 1D AbstractHamiltonians (#294, #324) - We can now use a fast solver, based on the Generalized Schur algorithm and adaptive numerical integration, to compute the density matrix in 1D and 2D systems (#291, #332)
- Serializers/Deserializers for AbstractHamiltonians and OrbitalSliceArrays (#299, #301, #302)
- Made
josephsoncomputation more flexible (#306, #307, #309, #310) - Made
densitymatrixcomputations more powerful (#311) - Generalized integration paths for
josephsonanddensitymatrix. NewPathssubmodule (#325, #330) - New
meanfield: efficient and general Hartree-Fock-Bogoliubov mean fields (#316, #323, #326) - Introduced
sitepairsas a more general sparse indexer for GreenFunctions, a kind of "hopping" complement todiagonal(#315)
Refactors
- Did a major rewrite of the indexing machinery for GreenFunctions, to allow for new features, such as general sparse indexing (#315)
Breaking changes
v1.1.0
Changes since v1.0.1
New features
current(h::AbstractHamiltonian; direction = 1)returns the currentOperatoralong a givendirection(#227)OrbitalSliceArrays andCellSites: indexing has been improved (#234, #245, #271, #277, #280)GreenSolvers.Spectrum(#240)densitymatrixobservable (#241)omegamapoption injosephsonobservable, to allow parameters to act as frequency (#247)- Non-spatial models. These allow, in particular, to implement self-consistent mean field Hamiltonians (#248)
- Support for Wannier90 imports (#261, #264)
attachnow allows atransformkeyword in its most general method (#263)- Partial evaluation of
g::GreenFunctions withg(; params)(#270) combinenow works also withParametricHamiltonians andParametricModels as couplings (#278)
Fixes and improvements
- Faster bands when using multithreaded julia (#226)
- 32bit support for GreenSolvers (#238)
- Plotting improvements (#249, #251, #255, #258, #272, #273)
- Bugfixes in
GreenSolvers.Bands(#253, #259) - Bugfix when using a function to constrain
cellsordcellsin a selector (#254) - Fix to avoid an unnecessary performance drop when computing a
spectrumin newer Julia versions (#260) - Bugfixes to subtle aliasing problems (#269)
- Generalize macros to parse e.g.
@onsite(o -> 2o, sublats = :A), not only@onsite(o -> 2o; sublats = :A)(#275)
Breaking changes
- rename
wraptotorusdue to a future name collision withBase(#237)
v1.0.1
Changes since v1.0.0:
- Optimization of plots with variable sitesize which also allowed some code cleanup: #217, #218
- Threading in bands had a series of bugs that could lead to wrong results or even a segfault: #219
- Introduction of qplotdefaults: #220, #223
- qplot matrix shader bugfix: #221
- embarrassing fix to an old core function foreach_cell that could end prematurely: #222
v1.0.0
Version v1.0.0
This marks the completion of the rewrite described in #190. The list of changes relative to v0.5 is too extensive. Relative to v0.6.1 the most important changes are
- Introduction of diagonal as indices GreenFunctions to obtain only their diagonal
- GreenSolvers.Bands as a new solver for any lattice dimension L>0
- Completed tutorial and docstrings
I expect a period of bugfixes and associated minor point releases. After that additional features and optimizations (e.g precompilation directives or new solver fastpaths) should gradually follow.
If you use Quantica.jl, I would appreciate if you could open issues for any problems/bugs/annoyances that you encounter. Thanks!
v0.6.1
Bugfix release with a more complete manual. It is still missing the GreenFunction section, though.
v0.6.0
This is a full rewrite of Quantica.jl, see #198, and a breaking change. The highlights
- Syntax changes:
unitcell->supercell,bandstructure->bands,parametric->hamiltonian,transform(f, h)->transform(h, f)... and possibly more. - New features: Quite a few. Check the new manual (work in progress) and doctrings
Once this is tried and tested for a bit it will become v1.0
v0.5.1
This includes only a compat bound change, nothing relevant. I'm doing it to test reproducibility with some published Manifest.toml. Consider it equivalent to v0.5.0.
v0.5.0
This release includes PR from #110 to #161. The highlights are:
- Wavefunction, currents, density plotting with VegaLite and other vlplot enhancements: #110, #111, #116, #126, #128, #138, #139, #140, #141, #152
- Unflatten to restore orbital structure in matrices, vectors, subspaces...: #112, #161, #147
- Can do algebra with Hamiltonians (sum, linear combinations...): #113
- Can do boolean combinations of
RegionPresets: #129 - Fixes to
unitcell: #117 (still needs some more) - Much better handling of degeneracies in bandstructures, including topological defects as Dirac points: #124, #119, #125, #127, #145
- Dangling bond removal with mincoordination: #131, #133
- Remove invalidations for faster compilation: #132
- Indexing into bandstructure gives interpolated eigenpairs: #134
- Add Hexagonal Closed Packing lattice preset: #157
- Implement the deflated Schur algorithm for quasi1D Green functions: #161