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/12/31 14:09] (current) Maurits W. Haverkort
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]]. 
 ### ###
  
-===== Input ===== 
- 
-  * bla : Integer 
-  * bla2 : Real 
- 
-===== Output ===== 
- 
-  * bla : real 
- 
-===== Example ===== 
- 
-### 
-description text 
-### 
- 
-==== Input ==== 
-<code Quanty Example.Quanty> 
--- some example code 
-</code> 
- 
-==== Result ==== 
-<file Quanty_Output> 
-text produced as output 
-</file> 
  
 ===== Table of contents ===== ===== Table of contents =====
 {{indexmenu>.#1}} {{indexmenu>.#1}}
  
Print/export