Skip to content

Releases: pablosanjose/Quantica.jl

v1.1.0

25 Apr 16:11
ce5f2a8
Compare
Choose a tag to compare

Changes since v1.0.1

New features

  • current(h::AbstractHamiltonian; direction = 1) returns the current Operator along a given direction (#227)
  • OrbitalSliceArrays and CellSites: indexing has been improved (#234, #245, #271, #277, #280)
  • GreenSolvers.Spectrum (#240)
  • densitymatrix observable (#241)
  • omegamap option in josephson observable, 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)
  • attach now allows a transform keyword in its most general method (#263)
  • Partial evaluation of g::GreenFunctions with g(; params) (#270)
  • combine now works also with ParametricHamiltonians and ParametricModels 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 cells or dcells in a selector (#254)
  • Fix to avoid an unnecessary performance drop when computing a spectrum in 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 wrap to torus due to a future name collision with Base (#237)

v1.0.1

22 Oct 20:26
Compare
Choose a tag to compare

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

23 Jan 07:35
Compare
Choose a tag to compare

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

28 Jun 16:38
Compare
Choose a tag to compare
v0.6.1 Pre-release
Pre-release

Bugfix release with a more complete manual. It is still missing the GreenFunction section, though.

v0.6.0

09 Jun 11:44
Compare
Choose a tag to compare
v0.6.0 Pre-release
Pre-release

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

21 Sep 14:51
Compare
Choose a tag to compare
v0.5.1 Pre-release
Pre-release

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

14 May 18:00
6118d1a
Compare
Choose a tag to compare
v0.5.0 Pre-release
Pre-release

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

v0.4.0

02 Oct 18:15
Compare
Choose a tag to compare
v0.4.0 Pre-release
Pre-release

The main new features/fixes of v0.4.0 are:

  • Extended SiteSelectors to allow specifying indices and exclusions (not): #84, #97
  • The range in HopSelector can now be an interval, and defaults to nearest neightbor distance: #87, #88, #89
  • Introduced KetModels, based on SiteSelectors for use in KPM: #80, #99
  • Reworked unitcell/supercell functionality to integrate with SiteSelectors: #79, #98
  • Fixed wrap: #81
  • Ability to change lattices with lattice(lat; kw...) (e.g. change Bravais vectors): #94, #95
  • similarmatrix(h, flatten) now allocates a flattened version of h's matrix for bloch!: #106
  • Removed need to optimize! Hamiltonians: #106
  • Maintenance and improvements of plot backends: #90, #91, #96, #102, #108, #109
  • Overhauled bandstructure functionality (DualNumbers, parametric mappings, linecuts, isometric transforms...): #100, #101, #107

v0.3.0

18 Jun 14:15
2152d2f
Compare
Choose a tag to compare
v0.3.0 Pre-release
Pre-release

Apart from various fixes, the main new features of v0.3.0 are

  • bloch! can now flatten a Bloch Hamiltonian with non-scalar eltype on the fly (#49)
  • Bandstructure cuts have been overhauled, and can now also be applied to the mixed Brillouin/parameter space of ParametricHamiltonians, or along lines connecting points using linearmesh (#52, #70)
  • Bandstructure energies can now be transform!-ed (#58)
  • VegaLite support to plot Hamiltonians and 1D bandstructures (#56, #57)
  • Broken KPM methods were fixed and now use multithreading in Julia version 1.5+ (#68, #72)
  • Automatic bandrangeKPM with non-scalar eltypes using the flatten/bloch! machinery (#71)

v0.2.0

01 May 13:19
6ce8ebd
Compare
Choose a tag to compare
v0.2.0 Pre-release
Pre-release

This version corrects some bugs and adds new functionality respect to v0.1.0. The main additions are:

  • Unified sublats syntax :A => :B (#29)
  • Boolean mask operators between superlattices (#34)
  • Removed forcehermitian in favor of an explicit plusadjoint in hopping (#38)
  • Possibility to specify a seed to start filling a region in unitcell/supercell (#39)
  • RegionPresets now admit a center argument (#39)
  • Reexport SA from StaticArrays (#41)