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/08/08 16:08] (current) – Micheangelo Tagliavini |
---|
====== 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}} |
| |