# Manual:Linear Response

# Calculate Polarizabolities and Hyperpolarizabilites with Octopus

With version 2.0rc1 the calculation of static polarizability () and the first hyperpolarizability () is supported. There are two ways to do this:

## Finite differences

This is calculated doing a numerical derivative of the total energy with respect to and applied electric field, it only gives the polarizability. To use this run with *RunMode = pol*, it will do several ground state calculations. The resulting tensor is in the *linear/polarizability* file.

## Linear Response

In this method the derivative of the energy is calculated analytically through Density Functional Perturbation Theory, is faster and more reliable that the previous method and also calculates the first hyperpolarizability tensor.

To use this you first need a gs calculation for the system with very well converged wave functions, the following parameters are recommended:

EigenSolverFinalTolerance = 1e-10 ConvAbsDens = 0 ConvRelDens = 0 ConvAbsEv = 1e-10 ConvRelEv = 0

After that you can calculate the hyperpolarizabity using *RunMode = pol_lr*. Results will be in the *linear/* directory in files *polarizability_lr* and *beta_lr*.