Trac #14778: Fix numerical_approx with algorithm keyword
Update pynac to 0.3.1.
Use dictionary for custom numerical evaluation.
Add algorithm keyword to custom numerical evaluation.
Add missing algorithm keywords for custom numerical evaluation.
Fix random issues caused by _evalf_ convention change.

This patch fixes 2 issues:

- add algorithm=None arguments to _evalf_ methods defined in
  sage/functions/bessel.py

- fix _evalf_ method of sage.functions.other.arg()

Apparently this function was never tested when the parent keyword argument
is specified.
Fix rebasing error.
Proper fix for the rebasing issue.
Add missing fix for algorithm keyword for custom numerical evaluation.
Add doctests for printing fixes in pynac.

Now we separate coefficient of symbolic expression with \cdot in latex output

Instead of:

sage: e = 2 * 2^(1/3)
sage: print latex(e)
2 \, 2^{\left(\frac{1}{3}\right)}

we get:

sage: latex(2 * 2^x)
2 \cdot 2^{x}
Fix documentation for numerical_approximation.
Trac #12289: pass algorithm argument to custom numeric evaluation methods

Custom numeric evaluation functions defined in the `_evalf_()` method of
symbolic functions accept only the parent of the result as an argument.
We should expand this to allow passing an `argument` parameter as well.

Merge together with dependencies (i.e. there are circular dependencies).

URL: http://trac.sagemath.org/12289
Reported by: burcin
Ticket author(s): Burcin Erocal, Benjamin Jones
Reviewer(s): Karl-Dieter Crisman, Doug S. MacNeil, Benjamin Jones, Jean-
Pierre Flori
Trac #14778: Fix numerical_approx with algorithm keyword

This is not currently an issue since we haven't implemented it, but we
should make it work.  See #12289.
{{{
sage: erf(1).n(algorithm='foo')
0.842700792949715
sage: erf(0)
0
sage: parent(erf(0))
Integer Ring
sage: erf(0).n(algorithm='foo')
------------------------------------------------------------------------
---
TypeError                                 Traceback (most recent call
last)

/Users/mcneil/sagedev/sage-5.1.beta0b/sage-5.1.beta0/devel/sage-
hack2/sage/<ipython console> in <module>()

/Users/mcneil/sagedev/sage-5.1.beta0b/sage-5.1.beta0/local/lib/python2.7
/site-packages/sage/structure/element.so in
sage.structure.element.Element.numerical_approx
(sage/structure/element.c:4988)()

TypeError: numerical_approx() got an unexpected keyword argument
'algorithm'
}}}

URL: http://trac.sagemath.org/14778
Reported by: kcrisman
Ticket author(s): Eviatar Bach
Reviewer(s): Ralf Stephan
Trac #13356: Wrong LaTeX for products of numbers

E.g.
{{{
sage: e = 2 * 2^(1/3)
sage: print latex(e)
2 \, 2^{\left(\frac{1}{3}\right)}
}}}
the output looks like power of 22, there should be \cdot.

(And there should be no parenthesis around the power, but that does not
change the meaning at least.)

URL: http://trac.sagemath.org/13356
Reported by: novoselt
Ticket author(s): Burcin Erocal
Reviewer(s): Jean-Pierre Flori
Trac #15198: Upgrade Pynac to 0.3.1

Let's update to Pynac 0.3.1.

Use upstream tarball at:
* http://pynac.org/download/pynac-0.3.1.tar.bz2

To be merged with #14778

URL: http://trac.sagemath.org/15198
Reported by: eviatarbach
Ticket author(s): Jean-Pierre Flori
Reviewer(s): Volker Braun