Loading [MathJax]/jax/output/CommonHTML/jax.js

Table of Contents

BlockBandDiagonalize

The function BlockBandDiagonalize() can be used to reduce the number of basis (spin-)orbitals by making linear combinations of (spin-)orbitals, according to the tight-binding structure (hopping matrix elements) within the (spin-)orbitals. As a simple example to make the idea clear, consider the following 3-by-3 matrix: M=(011110101) Now, assuming that M corresponds to a tight-binding Hamiltonian defined on some basis, we can linearly combine the second and third basis orbitals, such that we get a single orbital which mix with the first orbital via the matrix M. Consider the following unitary rotation matrix: U=(1000121201212) Now, transforming the matrix M using the unitary matrix U results in: M=UMUT=(01201210001) In the new representation, the first basis orbital only mixes with the second The basis orbital and not with the third one. The function BlockBandDiagonalize() can accept 3 types of objects as an arguments: Tight-binding object, Operator, or Matrix.

Input

Case 1:

Case 2:

Case 3:

(Optional) Third argument (in all cases)

Output

Table of contents