# Converting other representations to holonomic¶

## Converting hypergeometric functions¶

sympy.holonomic.holonomic.from_hyper(func, x0=0, evalf=False)[source]

Converts a hypergeometric function to holonomic. func is the Hypergeometric Function and x0 is the point at which initial conditions are required.

Examples

>>> from sympy.holonomic.holonomic import from_hyper, DifferentialOperators
>>> from sympy import symbols, hyper, S
>>> x = symbols('x')
>>> from_hyper(hyper([], [S(3)/2], x**2/4))
HolonomicFunction((-x) + (2)*Dx + (x)*Dx**2, x, 1, [sinh(1), -sinh(1) + cosh(1)])


## Converting Meijer G-functions¶

sympy.holonomic.holonomic.from_meijerg(func, x0=0, evalf=False, initcond=True, domain=QQ)[source]

Converts a Meijer G-function to Holonomic. func is the G-Function and x0 is the point at which initial conditions are required.

Examples

>>> from sympy.holonomic.holonomic import from_meijerg, DifferentialOperators
>>> from sympy import symbols, meijerg, S
>>> x = symbols('x')
>>> from_meijerg(meijerg(([], []), ([S(1)/2], [0]), x**2/4))
HolonomicFunction((1) + (1)*Dx**2, x, 0, [0, 1/sqrt(pi)])


## Converting symbolic expressions¶

sympy.holonomic.holonomic.expr_to_holonomic(func, x=None, x0=0, y0=None, lenics=None, domain=None, initcond=True)[source]

Converts a function or an expression to a holonomic function.

Parameters: func: The expression to be converted. x: variable for the function. x0: point at which initial condition must be computed. y0: One can optionally provide initial condition if the method isn’t able to do it automatically. lenics: Number of terms in the initial condition. By default it is equal to the order of the annihilator. domain: Ground domain for the polynomials in $$x$$ appearing as coefficients in the annihilator. initcond: Set it false if you don’t want the initial conditions to be computed.

meijerint._rewrite1, _convert_poly_rat_alg, _create_table
>>> from sympy.holonomic.holonomic import expr_to_holonomic