(g, a)
return D, meijerg(g.an, g.aother, g.bm, list(g.bother) + bs, z)
r"""
    Let d denote the integrand in the definition of the G function ``g``.
    Consider the function H which is defined in the same way, but with
    integrand d/Gamma(a*s) (contour conventions as usual).

    If a is rational, the function H can be written as C*G, for a constant C
    and a G-function G.

    This function returns C, G.
r"""
    Let d denote the integrand in the definition of the G function ``g``.
    Consider the function H which is defined in the same way, but with
    integrand d/Gamma(a*s) (contour conventions as usual).
r Let d denote the integrand in the definition of the G function g . Consider the function H which is defined in the same way but with integrand d / Gamma ( a * s ) ( contour conventions as usual ) .
def _inflate_fox_h(g, a):
    r"""
    Let d denote the integrand in the definition of the G function ``g``.
    Consider the function H which is defined in the same way, but with
    integrand d/Gamma(a*s) (contour conventions as usual).

    If a is rational, the function H can be written as C*G, for a constant C
    and a G-function G.

    This function returns C, G.
    """
    if a < 0:
        return _inflate_fox_h(_flip_g(g), -a)
    p = S(a.p)
    q = S(a.q)
    # We use the substitution s->qs, i.e. inflate g by q. We are left with an
    # extra factor of Gamma(p*s), for which we use Gauss' multiplication
    # theorem.
    D, g = _inflate_g(g, q)
    z = g.argument
    D /= (2*pi)**((1 - p)/2)*p**(-S(1)/2)
    z /= p**p
    bs = [(n + 1)/p for n in range(p)]
    return D, meijerg(g.an, g.aother, g.bm, list(g.bother) + bs, z)
def _inflate_fox_h ( g , a ) : if a < 0 : return _inflate_fox_h ( _flip_g ( g ) , - a ) p = S ( a . p ) q = S ( a . q ) # We use the substitution s->qs, i.e. inflate g by q. We are left with an # extra factor of Gamma(p*s), for which we use Gauss' multiplication # theorem. D , g = _inflate_g ( g , q ) z = g . argument D /= ( 2 * pi ) ** ( ( 1 - p ) / 2 ) * p ** ( - S ( 1 ) / 2 ) z /= p ** p bs = [ ( n + 1 ) / p for n in range ( p ) ] return D , meijerg ( g . an , g . aother , g . bm , list ( g . bother ) + bs , z )