Issue 3587: Modified Rational.__mod__ by adding a extra test to
            determine whether self.evalf() is a Float.
Issue 3587 : evalf() called once only. Removed extra elif cluase.
             Added test case.
Fixed the wrong return value in Rational.__rmod__
Merge pull request #1709 from prasoon2211/issue-3587

Issue 3587: Modified Rational.__mod__ by adding a extra test to determine whether self.evalf() is a Float.
Add Prasoon Shukla to AUTHORS/aboutus/.mailmap. Welcome to SymPy!
Enable Hermite polynomial in hyperexpand

In [6]: hyper([-m/2, (1-m)/2], [], x)
Out[6]: hyper((-m/2, -m/2 + 1/2), (), x)

In [7]: pprint(_)
     ⎛-m    m   1 │  ⎞
 ┌─  ⎜──, - ─ + ─ │  ⎟
 ├─  ⎜2     2   2 │ x⎟
2╵ 0 ⎜            │  ⎟
     ⎝            │  ⎠

In [8]: hyperexpand(_)
Out[8]: 2**(-m)*x**(m/2)*exp(I*pi*m/2)*hermite(m, exp_polar(-I*pi/2)/sqrt(x))

In [9]: pprint(_)
                     ⎛    -ⅈ⋅π⎞
     m  ⅈ⋅π⋅m        ⎜    ────⎟
     ─  ─────        ⎜     2  ⎟
 -m  2    2          ⎜   ℯ    ⎟
2  ⋅x ⋅ℯ     ⋅hermite⎜m, ─────⎟
                     ⎜     ___⎟
                     ⎝   ╲╱ x ⎠
Add a formula for 'hermite(n, z)' to the meijer-G tables

Note that this only holds for integral n. Unfortunately this
does still not allow us to integrate Hermite polynomials
symbolically:

>>> integrate(hermite(n, z), z)

[...]

_CoeffExpValueError: expr not of form a*x**b: 2**n*exp(z**2)

This exponential prefactor is problematic.