keywords: coherent potential approximation (CPA), full couting statistics (FCS) theory, cumulant generating function (CGF), single site approximation (SSA), matrix inverse average, Broyden's method, self-consistent calculation, recursive Green's function (RGF) algorithm
Given a complex matrix A of size
In quantum transport field, CPA algorithm is usually used to calculate the Green's function and related quantities (transmission, shot noise, etc.) (see reference below).
install
pip install git+https://github.com/husisy/FCSCPA.git
usage
from FCSCPA import CPA_general, CPA_block_general
from FCSCPA import FCS_CPA_oneband, FCS_CPA_multiband
from FCSCPA import generate_binary_hf_rand, generate_binary_hf_average
from FCSCPA import generate_uniform_hf_rand, generate_uniform_hf_average
from FCSCPA import generate_hf_Bii, Aii_to_matA
all functions provided in FCSCPA
module
CPA_general()
: CPA algorithmCPA_block_general()
: CPA algorithm when the random matrix B is Block diagonalbroyden_solver()
: Broyden' method to solve the self-consistent equationf(x)=x
np_inv_along_axis12()
: matrix inverse for high-dimensional (np.ndim>2
) tensormatA_to_Aii()
andAii_to_matA()
: utils for block diagonal matrixgenerate_binary_hf_rand()
andgenerate_uniform_hf_rand()
: (meta function) to generate value with some specified distributiongenerate_binary_hf_average()
andgenerate_uniform_hf_average()
: (meta function) to evaluate the function average with some specified distributiongenerate_hf_Bii()
: (meta function), mapping single random variable to a random matrixFCS_CPA_oneband()
FCS_CPA_multiband()
ball_in_bowl()
Ymn_Leibniz_matAB()
Ymn_Leibniz()
demo_Ymn_Leibniz()
demo_Ymn_Binomial()
Ymn_electron_zeroK()
see reference below for the algorithm detail. More examples will be added sooner, currently please see unittest scripts for detailed usage.
for developer
- clone the entire repository
git clone https://github.com/husisy/FCSCPA.git
- install with editable mode
pip install -e .
- run the unittest
pytest -v .
- take about one minutes
- sometimes some unittests may fail, since random number is used, it's okay to just run again (smile~)
Broyden's method to solve self-consistent equation
- A class of methods for solving nonlinear simultaneous equations
- TODO add more ref
coherent potential approximation
- Full counting statistics of conductance for disordered systems
- TODO add more ref
full counting statistics theory
- Full counting statistics of conductance for disordered systems
- Full counting statistics of charge transport for disordered systerms
- move
FCS_CPA
folder here - replace
.CPA
withCPA
- merge
CPA
withFCSCPA
- apply FCSCPA to system in finite temperature
- apply FCSCPA to two-sites system
- TODO, converge issue, can we start from hermitian point