Transfer matrix method

Numerical experiments » Anderson localization in dimension 2 and dimension 3 » 3d Anderson localization » Transfer matrix method

The transfer matrix method computes recursively the total transmission of a long bar of transverse section M and total length L>>M. As this is a quasi-1d system, it is always localized, that is the average of the logarithm of the transmission shoud decay linearly with the system size L:

<ln(T(L)> = -L/xi(M)where xi(M) is the localization length for finite transverse size M.In order to test whether the full 3D system is localized, one should take the limit M goes to infinity and look whether xi(M) converges to a finite limit - which is then the true 3D localization length - or diverges, in which case the dynamics is not localized.

The script  transmission_anderson_model_3d.py uses the recursive Green function algorithm (also known as transfer matrix method) described in A. MacKinnon and B. Kramer, Z. Phys. B 53, 1 (1983).
This is a simplified implementation, slower by roughly a factor 10, but easier to understand and more compact. You do not have to understand how it works, you may use as a black box. Of course, it is better if you make the effort to understand how it works |-).

The script produces 4 files:

  1. log_transmission.dat, which contains the average of the logarithm of the transmission versus position along the bar. It should decay almost linearly, with small fluctuations as it is self-averaging.
  2. localization_length.dat, which contains the localization length (estimated from the decay of <ln(T)> with L) vs. the transverse size M. The file contains several data sets, one for each W value.
  3. scaling_M.dat, which should be used to assess the validity of the one parameter scaling law. It contains ln(xi(M)/M) vs. ln(1/M), for various values of W.
  4. scaling_W.dat, which contains ln(xi(M)/M) vs. W, for various values of M.

The script performs the calculation of the localization length xi(M) for several values of the transverse size M and of the disorder strength W. It has 8 parameters:

transmission_anderson_model_3d.py L M_min M_max M_nsteps W_min W_max W_nsteps energy


* System length L
* M_min, M_max, M_nsteps. The range [M_min,M_max] of M values, divided in M_nsteps interval.  The M sequence is approximately a geometrically growing series.
* W_min, W_max, W_nsteps. The range [W_min,W_max] of W values, divided in W_nsteps interval.  The W values are equally spaced.
* Energy at which the calculation is performed.

__________________________________________________________________________________________________

 You should try the following calculations:

  1. transmission_anderson_model_3d.py 4000 4 10 5 10. 24. 7 0.
    [ It will take few minutes to complete, but it is worth waiting ].
    This is for W=10,12,14,16,18,20,22,24 and M=4,5,6,7,8,10  (and energy 0.). Check with log_transmission.dat that all <ln(T(L))> decay approximately linearly with L. Look at localization_length.dat how the localization length increases with the transverse system size M. Understand why it gives some indication of the existence of a metal-insulator transition. Look at scaling_W.dat. How to characterize the ciritical point. Give an estimate of W_c and of the critical "conductance" xi(M)/M.Are the data in scaling_M.dat in favor of the existence of a one-parameter scaling law?

  2. Change the energy and try to construct the phase diagram.

     __________________________________________________________________________

    Warning: For some stupid reason, the CMS of this Web site refuses files with the .py extension. Thus, you have to manually rename the file, changing the final _py to .py