Skip to content

Releases: aryavorskiy/LatticeModels.jl

v1.0.7

12 Feb 21:42
Compare
Choose a tag to compare

What's Changed

Interface changes

  • New MatrixBuilder interface allows to control the way a Hamiltonian is generated.
  • UniformMatrixBuilder is a way to create a Hamiltonian that allows to skip a costly sparse call. Works good only under assumption the nonzero elements of the matrix are uniformly distributed over columns.

Other updates

  • Improved performance of removedangling!.
  • Pretty-printing of a BravaisLattice became more compact due to a shorter way of showing basis vectors.

Bugfixes

  • site + Translation(vector) now throws a MethodError instead of a StackOverflowError

Merged pull requests

Full Changelog: v1.0.6...v1.0.7

v1.0.6

06 Feb 03:45
Compare
Choose a tag to compare

What's changed

  • Now additional point fluxes are automatically added if the lattice has periodic boundary conditions (see #15); you can revert this behavior by setting auto_pbc_field=false.
  • Also you can push! or append! magnetic fluxes to PointFluxes objects — purely for convenience.
  • The occupations_type keyword was reworked, and now you can set it directly for the anybody system or for a hubbard model Hamiltonian.
  • System(mb) allows you to use any many-body basis.
  • FermiHubbardSpinSystem is a new way that allows us to fix the number of up- and down-spins on a lattice.
  • Performance of hubbard is seriously increased. Use occupations_type=FermionBitstring for yet another performance gain.

PRs merged

  • CompatHelper: bump compat for KrylovKit to 0.9, (keep existing compat) by @github-actions in #14
  • Add methods for PointFluxes and adapt magnetic fields to boundaries by @aryavorskiy in #16
  • Interaction & occupation types by @aryavorskiy in #17

Full Changelog: v1.0.5...v1.0.6

v1.0.5

17 Jan 18:26
Compare
Choose a tag to compare
  • The FieldSum type for gauge fields is not suitable for large numbers of members, so a warning is shown if the length of the sum is too much
  • Introducing a new PointFluxes gauge field type. It is an efficient representation of a collection of PointFlux fields (requested in #11)
  • LatticeValue broadcasting is more flexible and optimized
  • Update combat entries

Full Changelog: v1.0.4...v1.0.5

v1.0.4

01 Oct 09:08
Compare
Choose a tag to compare
  • Added JET testing, fixed some bugs, typos and type stability issues
  • A small optimization in removedangling! makes the lattice creation process up to 15% faster (for large lattices)

Full Changelog: https://github.com/aryavorskiy/LatticeModels.jl/compare/v1.0.3..v1.0.4

v1.0.3

23 Sep 22:21
Compare
Choose a tag to compare

This small release introduces small tweaks and a new plot recipe for large lattices.

What's Changed

Full Changelog: v1.0.2...v1.0.3

v1.0.2

22 Sep 23:35
Compare
Choose a tag to compare

Finally all small issues are resolved:

  • Slight performance improvements
  • TTFX reduced due to PrecompileTools integration
  • An enhanced logo in ReadMe

Full Changelog: v1.0.1...v1.0.2

v1.0.1

17 Sep 16:24
Compare
Choose a tag to compare

Changes since v1.0.0

  • Implement some speed-up techniques to make lattice generation up to 3x times faster
  • Fix compat issues.

Full Changelog: v1.0.0...v1.0.1

v1.0.0

17 Sep 00:46
Compare
Choose a tag to compare

A lot has changed since the last 'stable' version – check out the docs!