1 | initial version |

This works for me in (Python 3 based) Sage 8.8.beta7:

```
sage: y, z = var('y z')
sage: cauchy = y.substitute(solve(z*y^3 + y^2 - 2*z*y + 2, y)[0])
sage: def F(u):
....: return arg(cauchy).substitute(z=u).n()
....:
sage: numerical_integral(F, 1, 2)
(0.6116545934235456, 6.790730127365591e-15)
```

Here are links to Jupyter notebooks on CoCalc showing it

To determine whether what matters is SageMath 8.7 vs 8.8.beta7 or Py2 vs Py3, I'll test Py2-based SageMath 8.8.beta7, and report.

2 | No.2 Revision |

This works for me in (Python 3 based) Sage 8.8.beta7:

```
sage: y, z = var('y z')
sage: cauchy = y.substitute(solve(z*y^3 + y^2 - 2*z*y + 2, y)[0])
sage: def F(u):
....: return arg(cauchy).substitute(z=u).n()
....:
sage: numerical_integral(F, 1, 2)
(0.6116545934235456, 6.790730127365591e-15)
```

Here are links to Jupyter notebooks on CoCalc ~~showing it~~showing

- failure to integrate F with Py2-based SageMath 8.7
- success integrating F with Py3-based SageMath 8.8.beta7

This also fails with Py2-based SageMath ~~8.7~~8.8.beta7.

So the "easy" solution for you is: switch to Python3-based Sage!

For this, follow the instructions to install from source~~ ~~

To determine whether what matters is SageMath 8.7 vs 8.8.beta7 or Py2 vs Py3, I'll test Py2-based SageMath 8.8.beta7, , paying attention to the discussion about Python 3.

Or if you want to turn your existing SageMath into a Python3-based one,
you could open a terminal, cd to your Sage directory, and ~~report.~~

```
make distclean
make configure
./configure --with-python=3
make
```

which will work if you have all the prerequisites.

Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.