| Both sides previous revisionPrevious revisionNext revision | Previous revision |
| documentation:language_reference:functions:blockbanddiagonalize [2024/12/31 14:09] – Maurits W. Haverkort | documentation:language_reference:functions:blockbanddiagonalize [2025/11/20 03:29] (current) – external edit 127.0.0.1 |
|---|
| ====== BlockBandDiagonalize ====== | ====== 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: | 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: |
| ### | ### |
| |
| | ====== Input ====== |
| | Case 1: |
| | * //matrix//: hermitian matrix |
| | * //blockSize//: size of the block (as number) or list of vectors representing the starting states |
| | |
| | Case 2: |
| | * //operator//: hermitian operator |
| | * //wave function //: single wave function of list of wave functions |
| | |
| | Case 3: |
| | * //tightbindingObject//: tight binding object |
| | * //startingBlock //: list of atoms with positions, shells and orbitals used as starting block |
| | |
| | |
| | //(Optional) Third argument (in all cases)// |
| | |
| | *NTri : (//integer//) maximum number of blocks included (//default: $\infty$//) |
| | |
| | *NOrtho : (//integer//) maximum number of reorthogonalizations (//default: $\infty$//) |
| | |
| | *ReOrthogonalize: (//boolean//) use additional Gran-Schmidt orthogonalization after the Löwdin orthogonalization (//default: true//) |
| | |
| | ====== Output ====== |
| | case1: |
| | *//ResponseFunction//:Response Function in tri representation. |
| | *//matrix//: Transformation Matrix to transform the input matrix into the Block band diagonalized one. |
| |
| ===== Table of contents ===== | ===== Table of contents ===== |
| {{indexmenu>.#1}} | {{indexmenu>.#1}} |
| |