Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
documentation:language_reference:functions:blockbanddiagonalize [2018/06/21 15:15] Simon Heinzedocumentation:language_reference:functions:blockbanddiagonalize [2024/09/25 16:36] (current) Sina Shokri
Line 2: Line 2:
  
 ### ###
-alligned paragraph text+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 = \begin{pmatrix} 0 & 1 & 1 \\  1 & 1 & 0 \\ 1 & 0 & 1 \end{pmatrix} $$ 
 +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 = \begin{pmatrix} 1 & 0 & 0 \\  0 & \frac{1}{\sqrt{2}} & \frac{1}{\sqrt{2}} \\ 0 & \frac{1}{\sqrt{2}} & -\frac{1}{\sqrt{2}} \end{pmatrix} $$ 
 +Now, transforming the matrix $ M $ using the unitary matrix $ U $ results in: 
 +$$ M' = U M U^{T} = \begin{pmatrix} 0 & \frac{1}{\sqrt{2}} & 0 \\   \frac{1}{\sqrt{2}} & 1 & 0 \\ 0 & 0 & 1 \end{pmatrix} $$ 
 +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: [[documentation:language_reference:objects:tightbinding:start|Tight-binding object]], [[documentation:language_reference:objects:operator:start|Operator]], or [[documentation:language_reference:objects:matrix:start|Matrix]]. 
 ### ###
  
Print/export