where is the inverse of an approximate force constant matrix . This method would immediately converge to the equilibrium geometry if would be the inverse of the exact force constant matrix and the force field would be quadratic. In real applications usually none of these requirements is fulfilled. Often only a crude approximation to the force constant matrix is known. Sometimes a unit matrix is employed (which means coordinate update along the negative gradient with all coordinates treated on an equal footing).

The optimization of nuclear coordinates in the space of internal
coordinates is the default task performed by `relax` and does not need
to be enabled. Any other optimization task requires explicit
specifications in data group `$optimize`, which takes several
possible options:

`internal on`/`off`- Structure optimization in internal coordinates.
`redundant on`/`off`- Structure optimization in redundant coordinates.
`cartesian on`/`off`- Structure optimization in cartesian coordinates.
`basis on`/`off`- Optimization of basis set exponents, contraction coefficients, scaling factors.
`global on`/`off`- Optimization of global scaling factor for all basis set exponents.

**Note**: All options except `internal` are switched off by default,
unless they have been activated explicitly by specifying `on`.

Some of the options may be used simultaneously, e.g.

`internal`

,`basis`

`internal`

,`global`

`cartesian`

,`basis`

`internal`

,`cartesian`

`basis`

,`global`

`dqmax=`*real*- Maximum total coordinate change (default: 0.3).
`interpolate on`/`off`- Calculate
coordinate update by inter/extrapolation using coordinates and
gradients of the last two optimization cycles (default:
`interpolate on`) if possible. `statistics`*integer*/`off`- Display
optimization statistics for the
*integer*previous optimization cycles. Without*integer*all available information will be displayed.`off`suppresses optimization statistics.

- Input data from gradient programs
`grad`,`rdgrad`,`egrad`,`rimp2`,`mpgrad`, etc.: - Input data from force constant program
`aoforce`: - Output data from program
`relax`: