PAOFLOW.transport.calculators.transfer#

Attributes#

Functions#

compute_surface_transfer_matrices(h_eff, s_eff, t_coupling)

Iteratively compute surface transfer matrices using the Sancho-Rubio method.

Module Contents#

PAOFLOW.transport.calculators.transfer.logger[source]#
PAOFLOW.transport.calculators.transfer.compute_surface_transfer_matrices(h_eff, s_eff, t_coupling, delta=1e-05, niterx=200, transfer_thr=1e-07, fail_counter=None, fail_limit=5, verbose=False)[source]#

Iteratively compute surface transfer matrices using the Sancho-Rubio method.

Parameters:
  • h_eff (np.ndarray) – Effective Hamiltonian block H_00 (ndim x ndim).

  • s_eff (np.ndarray) – Overlap matrix S_00 (ndim x ndim).

  • t_coupling (np.ndarray) – Coupling matrix H_01 (ndim x ndim).

  • delta (float) – Small imaginary part added to stabilize inversion.

  • niterx (int) – Maximum number of iterations.

  • transfer_thr (float) – Convergence threshold.

  • fail_counter (dict) – Mutable dict to count number of convergence failures.

  • fail_limit (int) – Maximum number of failures before raising an exception.

  • verbose (bool) – If True, enables logging output.

Returns:

  • `tot` (np.ndarray) – Transfer matrix T (ndim x ndim).

  • `tott` (np.ndarray) – Conjugate transfer matrix T† (ndim x ndim).

  • `niter` (int) – Number of iterations used.

Notes

This function implements the iterative Sancho-Rubio scheme for computing the surface Green’s function via continued fraction expansion of the transfer matrix.

The method solves for the surface self-energy Σ by iteratively building the transfer matrix using the recurrence relations:

T₀ = (E S₀₀ - H₀₀)⁻¹ H₀₁† T₀† = (E S₀₀ - H₀₀)⁻¹ H₀₁

For iteration m ≥ 1:

M₁ = Tₘ Tₘ† M₂ = Tₘ† Tₘ S₁ = I - (M₁ + M₂) S₂ = S₁⁻¹

Tₘ₊₁ = S₂ @ (Tₘ @ Tₘ) Tₘ₊₁† = S₂ @ (Tₘ† @ Tₘ†)

The cumulative transfer matrix is:

T_total += T_prev† @ Tₘ₊₁ T_total† += T_prev @ Tₘ₊₁†

where T_prev and T_prev† are recursively updated as:

T_prev = T_prev @ Tₘ† T_prev† = T_prev† @ Tₘ

Convergence is checked using the Frobenius norms of Tₘ₊₁ and Tₘ₊₁†.