# calculateRetardedGreenFunction¶

calculateRetardedGreenFunction(device_configuration, energy=PhysicalQuantity(0.0, eV), kpoint=None, spin=None, eta=PhysicalQuantity(1e-06, Hartree), self_energy_calculator=None)

Calculate the Retarded Green’s Function.

Parameters: device_configuration (DeviceConfiguration | SurfaceConfiguration) – The configuration to use for the calculation. energy (PhysicalQuantity of type energy) – Absolute energy for the calculation Default: 0.0 * eV kpoint (tuple of floats) – The kpoint as three floats representing fractional reciprocal space coordinates. Default: The Gamma point (0.0, 0.0, 0.0) spin (Spin.Up | Spin.Down | Spin.All) – The spin component for which to perform the calculation. Default: Spin.All eta (PhysicalQuantity of type energy) – Complex energy for electrode transform matrices, imaginary part. Default: 1.0e-6 * Hartree self_energy_calculator (RecursionSelfEnergy | DirectSelfEnergy | KrylovSelfEnergy | SparseRecursionSelfEnergy) – The self energy evaluation strategy to use. Default: A default RecursionSelfEnergy instance. The Green’s Function as an array PhysicalQuantity in units of inverse energy

## Usage Examples¶

Calculate the retarded Green’s function for a DeviceConfiguration:

energy=1.0*eV
green_function = calculateRetardedGreenFunction(device_configuration, energy)


Equivalent calculation using basic variables, $$H$$, $$S$$

energy=1.0*eV
H,S = calculateHamiltonianAndOverlap(device_configuration)
S_L = calculateSelfEnergy(device_configuration, energy, contribution=Left)
S_L = S_L.inUnitsOf(Hartree)
S_R = calculateSelfEnergy(device_configuration, energy, contribution=Right)
S_R = S_R.inUnitsOf(Hartree)

# Setup E*S-H-S_L-S_R
lhs = energy.inUnitsOf(Hartree)*S-H.inUnitsOf(Hartree)
n = S_L.shape[0]
lhs[:n,:n] -= S_L
n = S_R.shape[0]
lhs[-n:,-n:] -= S_R

# Do the inverse
green_function = numpy.linalg.inv(lhs)*Hartree


## Notes¶

• Calculates the Fourier transformed retarded Green’s function of a device. The retarded Green’s function is given by

$G^{r}(E,{\bf k}) = [(E S({\bf k}) - H({\bf k}) - \Sigma^L(E+i\eta,{\bf k})-\Sigma^R(E+i\eta, {\bf k})]^{-1},$

where $$S$$ is the overlap matrix, $$H$$ Hamiltonian, and $$\Sigma^L, \Sigma^R$$ are the left and right self energies.

• The calculator assigned to the device must be density matrix-based for this function to perform successfully.

• Consider Note on Spin in low level interface functions for details on how to handle the spin parameter.