TopologicalNumbers.jl
Documentation for TopologicalNumbers.
Overview
TopologicalNumbers.jl is a Julia package designed to compute topological numbers, such as the Chern numbers and $\mathbb{Z}_2$ numbers, using a numerical approach based on the Fukui-Hatsugai-Suzuki method [1, 2], the Shiozaki method [3, 4], or method of calculating the Weyl nodes [5–8].
This software is released under the MIT License, please see the LICENSE file for more details. It is confirmed to work on Julia 1.10 (LTS) and 1.11.
Installation
To install TopologicalNumbers.jl, run the following command:
pkg> add TopologicalNumbers
Alternatively, you can use:
julia> using Pkg
julia> Pkg.add("TopologicalNumbers")
Package Features
This package includes the following functions:
- Calculation of the dispersion relation.
- Provides numerical calculation methods for various types of topological numbers.
- Calculation of the phase diagram.
- Compute Pfaffian and tridiagonarize skew-symmetric matrix (migration to Julia from PFAPACK [9]).
- Utility functions for plotting.
- Support parallel computing using
MPI
.
The correspondence between the spatial dimension of the system and the supported topological numbers is as follows.
Dimension | Function |
---|---|
1D | Calculation of Berry Phases ($\mathbb{Z}$) |
2D | Calculation of local Berry Fluxes ($\mathbb{Z}$) Calculation of first Chern numbers ($\mathbb{Z}$) Calculation of $\mathbb{Z}_{2}$ numbers ($\mathbb{Z}_{2}$) |
3D | Calculation of Weyl nodes ($\mathbb{Z}$) Calculation of first Chern numbers in sliced Surface ($\mathbb{Z}$) Finding Weyl points ($\mathbb{Z}$) |
4D | Calculation of second Chern numbers ($\mathbb{Z}$) |
Contributing
User feedback is appreciated. Please create a GitHub Issue to report bugs or suggest new features, or a Pull Request to contribute to the package.