Skip to content

v0.10.0

Latest
Compare
Choose a tag to compare
@github-actions github-actions released this 20 Oct 02:59
· 3 commits to master since this release

QuantumLattices v0.10.0

Diff since v0.9.15

Breaking changes

Such changes do affect the public interfaces that users interact with.

Fermion/boson/spin/phonon indexes and operators

  • Construction of fermion/boson/spin/phonon indexes and operators are changed. 𝕗 (\bbf<tab> ferimion), 𝕓 (\bbb<tab>, boson), 𝕊 (\bbS<tab>, spin), 𝕦 (\bbu<tab>, displacement of lattice vibration) and 𝕡 (\bbp<tab>, momentum of lattice vibration) are the new interfaces to construct and display such indexes and operators.

  • Underlying types to implement fermion/boson/spin/phonon indexes and operators are renamed: 1) the abstract type IID => InternalIndex, and the concrete types FID => FockIndex, SID => SpinIndex, PID => PhononIndex; 2) CompositeIndex => CoordinatedIndex.

  • The :iid attribute of Index now is renamed to :internal.

Coupling

  • A new type, Pattern, is introduced to represent the coupling pattern in a Coupling.
  • Construction of Coupling with constraints now uses a new macro, @pattern. The old @indexes macro is removed.
  • Coupling with different types of Indexes now must be initialized with the @pattern macro.
  • The :site attribute of an Index used to construct a Coupling can no longer be an integer; it must now be either a : or an Ordinal to clearly indicate that it represents the ordinal in a bond.

Quantum numbers

Quantum numbers are completely redesigned.

Mechanism changes

Such changes typically do not affect the public interfaces that users interact with, but they are significant for developers looking to extend this package.

  • New function Patternrule is introduced to implement default rules for coupling patterns.
  • Interface of script, which is used to support latex-formatted output of operators, is changed.
  • Interface of expand for a Coupling is changed.
  • Interfaces of Toolkit.VectorSpace are changed.

Merged pull requests: