Fixed Bug:
- add assertion in *_search/ZhangHanger* for users to adjust default parameters by AssertionError with `alpha > 0`.
New Example:
python
import optimtool.unconstrain as ou
from optimtool.base import sp
x = sp.symbols("x1:5")
f = 100 * (x[1] - x[0]**2)**2 + \
(1 - x[0])**2 + \
100 * (x[3] - x[2]**2)**2 + \
(1 - x[2])**2
x_0 = (-1.2, 1, -1.2, 1)
barzilar_borwein = ou.gradient_descent.barzilar_borwein
barzilar_borwein(f, x, x_0, verbose=True, method="ZhangHanger", c1=0.8, beta=0.8, eta=0.6)
see [tests](https://github.com/linjing-lab/optimtool/tree/v2.2/tests) and [examples](https://github.com/linjing-lab/optimtool/tree/v2.2/examples/doc) for fine-tuning default parameters of more algorithms.