roots docstring reworked

This commit is contained in:
Fabian Joswig 2021-11-09 10:19:05 +00:00
parent 509b7bb73f
commit 9bd438fa06

View file

@ -1,20 +1,31 @@
#!/usr/bin/env python
# coding: utf-8
import scipy.optimize
from autograd import jacobian
from .obs import derived_observable, pseudo_Obs
def find_root(d, func, guess=1.0, **kwargs):
"""Finds the root of the function func(x, d) where d is an Obs.
r'''Finds the root of the function func(x, d) where d is an `Obs`.
Parameters
-----------------
d -- Obs passed to the function.
func -- Function to be minimized. Any numpy functions have to use the autograd.numpy wrapper
guess -- Initial guess for the minimization.
"""
d : Obs
Obs passed to the function.
func : object
Function to be minimized. Any numpy functions have to use the autograd.numpy wrapper.
Example:
```python
import autograd.numpy as anp
def root_func(x, d):
return anp.exp(-x ** 2) - d
```
guess : float
Initial guess for the minimization.
Returns
-------
Obs
`Obs` valued root of the function.
'''
root = scipy.optimize.fsolve(func, guess, d.value)
# Error propagation as detailed in arXiv:1809.01289