BLOCK_DIAGONALIZE

Control section to setup block diagonalization of the mixed CDFT Hamiltonian. Constructs a new Hamiltonian by diagonalizing the initial matrix within each block and by rotating the off-diagonal blocks (which represent the interactions between different blocks) by the eigenvectors of diagonal blocks. [Edit on GitHub]

Keywords

Keyword descriptions

BLOCK

Type: integer[ ]
Repeatable: yes
Usage: BLOCK 1 2

Description: Defines which CDFT states are included in a block. Each repetition of this keyword defines a new block. The Hamiltonian matrix elements of the requested states are collected into a new matrix and subsequently diagonalized. The eigenvectors of this matrix are used to rotate the matrix blocks describing the interactions between blocks.

[Edit on GitHub]

IGNORE_EXCITED

Type: logical
Default: T
Lone keyword: T
Usage: IGNORE_EXCITED FALSE

Description: Ignore excited states related to each block when constructing the new mixed CDFT Hamiltonian. This reduces the dimensionality of the Hamiltonian.

[Edit on GitHub]

RECURSIVE_DIAGONALIZATION

Type: logical
Default: F
Lone keyword: T
Usage: RECURSIVE_DIAGONALIZATION TRUE

Description: Perform block diagonalization recursively until only two blocks remain. For example, if the elements of a 8x8 matrix are first collected into 4 blocks (using keyword BLOCK), this keyword will transform the matrix to a 2x2 matrix (8x8 -> 4x4 -> 2x2). In this example, the blocks of the 2x2 matrix would be assembled from the first and last 2 blocks of the 4x4 matrix.

[Edit on GitHub]