Frequency dependent response (FDR) using time-dependent Hartree-Fock (or TDDFT) allows one to compute electronic frequency dependent polarizabilties of molecular systems by choosing a perturbing operator, and a specified observable.

Specifically, FDR jobs solve the linear inverse propagator problem for the input perturbations `\mathbf{B}`

, and the output observable `\mathbf{A}`

for a particular frequency to produce the response function. In short, the equation is of the form

`\langle\langle \mathbf{A}; \mathbf{B} \rangle \rangle_\omega = \mathbf{A}^* (\mathbf{H} - \omega\mathbf{S})^{-1}\mathbf{B}`

where `\mathbf{H}`

is the orbital Hessian, `\omega`

is the chosen frequency, and `\mathbf{S}`

is the metric

`\mathbf{S} = \begin{bmatrix} \mathbf{I} & 0 \\ 0 & -\mathbf{I} \end{bmatrix} `

In the following example we will compute the FDR across a range of frequencies and perturbing operators for the HCl molecule.

## Input

```
[Molecule]
charge = 0
mult = 1
geom:
Cl 0.0 0.0 0.0
H 0.0 0.0 1.27
[QM]
reference = RHF
job = resp
[BASIS]
basis = cc-pvdz
[RESPONSE]
type = fdr
bfreq = range(0.0,10,0.01)
bops = edl md
dofull = true
```

For this HCl example, we use a restricted Hartree-Fock reference, set the job to `job = resp`

for response, and use the `cc-pvdz`

basis set. Now, we set the FDR related options in the `[RESPONSE]`

settings.

We set the job type to FDR with the keyword `type = fdr`

. Next, the range of perturbing frequencies we want to solve for is specified by `bfreq`

. In this case, `bfreq = range(0.0,10,0.01)`

meaning that the frequencies will range from 0.0 to 0.09 a.u. for a total of 10 different frequencies to be computed.

Further, the `bops`

keyword corresponds to "`\mathbf{B}`

operators". Specifically it is a space separated list of perturbing operators. In this example, `bops = edl md`

specifies ChronusQ to compute the FDR job with an electric dipole (length gauge) perturbation, `edl`

, and a Magnetic dipole perturbation, `md`

. Additionally, there is an `aops`

keyword, but defaults to using all operators.

Finally, `dofull = true`

specifies to solve for the full `\mathbf{H}`

matrix.

## Output

After running the FDR job, we see the following results in the output file.

```
FREQUENCY DEPENDENT RESPONSE RESULTS
* RESPONSE FUNCTIONS (POLARIZABILITIES)
Electric Dipole - Electric Dipole (Length) : - Re [<< r_i; r_j >>] (AU)
{ << X; X >>, << X; Y >>, << X; Z >> }
{ << Y; X >>, << Y; Y >>, << Y; Z >> }
{ << Z; X >>, << Z; Y >>, << Z; Z >> }
W(AU) = 0.0000 6.32053e+00 0.00000e+00 0.00000e+00
0.00000e+00 6.32053e+00 0.00000e+00
0.00000e+00 0.00000e+00 1.27291e+01
W(AU) = 0.0100 6.32132e+00 0.00000e+00 0.00000e+00
0.00000e+00 6.32132e+00 0.00000e+00
0.00000e+00 0.00000e+00 1.27327e+01
.
.
.
```

In this first polarizability result, we see the dipole-dipole response function tensor for each of the 10 frequencies:

`\text{Re} \left[ \langle\langle r_i; r_j \rangle \rangle_\omega \right]`

Only the first two frequencies are shown above, but we can see each tensor is ordered by cartesian direction as so:

```
{ << X; X >>, << X; Y >>, << X; Z >> }
{ << Y; X >>, << Y; Y >>, << Y; Z >> }
{ << Z; X >>, << Z; Y >>, << Z; Z >> }
```

As expected, we see changes in the polarizability as the frequency of the perturbation is changed.