# Result#

As seen before, the `result`

object contains all the information about the minimization result:

```
>>> print("Function minimum:", result.fmin)
Function minimum: 14170.396450111948
>>> print("Converged:", result.converged)
Converged: True
>>> print("Valid:", result.valid)
Valid: True
>>> print("Full minimizer information:", result)
```

```
>>> # Information on all the parameters in the fit
>>> params = result.params
>>> # Printing information on specific parameters, e.g. mu
>>> print("mu={}".format(params[mu]['value']))
mu=0.012464509810750313
```

## Estimating uncertainties#

In order to get an estimate for the uncertainty of the parameters after the minimization, the FitResult can be used.

```
>>> param_hesse = result.hesse()
>>> print(param_hesse)
```

This will print out the uncertainties of the parameter using a Hessian approximation at the minimum of the loss. While the approximation is fast and often good enough, it is symmetric and does maybe not describe the uncertainty well.

The `errors()`

method can be used to perform the CPU-intensive
error calculation.
It returns two objects, the first are the parameter errors and the second is a new `FitResult`

*in case a new
minimum was found during the profiling*; this will also render the original result invalid as can
be checked with `result.valid`

.

```
>>> param_errors, _ = result.errors()
>>> print(param_errors)
```

This will print out the uncertainties of the parameter using a profiling method (like `minos()`

does)