Module Expr Str ImportFrom alias alias ImportFrom alias alias alias alias alias alias alias alias alias alias alias alias alias alias alias alias alias alias alias ImportFrom alias alias alias alias alias alias alias alias alias alias alias alias alias alias alias alias alias alias alias alias ImportFrom alias alias ImportFrom alias ImportFrom alias identifier alias identifier ImportFrom alias FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str If BoolOpOr CompareLtE NameLoad Num UnaryOpNot NameLoad body Return NameLoad Assign NameStore BinOpMult ListLoad AttributeLoad NameLoad attr NameLoad For TupleStore NameStore NameStore Call NameLoad Call NameLoad NameLoad body Assign NameStore BinOpAdd NameLoad Num For NameStore Call NameLoad Num NameLoad body AugAssignMult NameStore BinOpAdd BinOpAdd NameLoad NameLoad Num Expr Call AttributeLoad NameLoad attr Num Call AttributeLoad NameLoad attr NameLoad Call NameLoad NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam defaults body Expr Str If UnaryOpNot NameLoad body Return Call NameLoad NameLoad NameLoad NameLoad If BoolOpOr CompareLtE NameLoad Num Call NameLoad NameLoad NameLoad body Return NameLoad Assign TupleStore NameStore NameStore TupleLoad Call NameLoad NameLoad BinOpSub NameLoad Num NameLoad BinOpSub NameLoad Num For TupleStore NameStore NameStore Call NameLoad Call NameLoad NameLoad body Assign NameStore BinOpAdd NameLoad Num For NameStore Call NameLoad Num NameLoad body AugAssignMult NameStore BinOpAdd BinOpAdd NameLoad NameLoad Num Expr Call AttributeLoad NameLoad attr Num Call NameLoad NameLoad Call NameLoad NameLoad NameLoad NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam NameParam defaults body Expr Str If CompareEq NameLoad NameLoad body Return Call NameLoad NameLoad NameLoad NameLoad NameLoad Assign TupleStore NameStore NameStore TupleLoad BinOpSub NameLoad Num BinOpAdd NameLoad Num Return Call NameLoad ListComp Call NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad comprehension NameStore NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam defaults body Expr Str If BoolOpOr CompareLt NameLoad Num CompareGt NameLoad NameLoad body Raise Call NameLoad BinOpMod Str TupleLoad NameLoad NameLoad Return Call NameLoad NameLoad NameLoad NameLoad Num NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str If CompareLtE NameLoad Num body Return NameLoad Assign NameStore Call NameLoad NameLoad If CompareLt NameLoad NameLoad body Return ListLoad Assign NameStore ListLoad If CompareEq NameLoad Num body For NameStore SubscriptLoad NameLoad Slice UnaryOpUSub NameLoad body Expr Call AttributeLoad NameLoad attr BinOpMult Call NameLoad NameLoad NameLoad AugAssignSub NameStore Num orelse For NameStore SubscriptLoad NameLoad Slice UnaryOpUSub NameLoad body Assign NameStore NameLoad For NameStore Call NameLoad BinOpSub NameLoad Num BinOpSub NameLoad NameLoad Num body AugAssignMult NameStore NameLoad Expr Call AttributeLoad NameLoad attr BinOpMult Call NameLoad NameLoad NameLoad AugAssignSub NameStore Num Return Call NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam defaults body Expr Str If UnaryOpNot NameLoad body Return Call NameLoad NameLoad NameLoad NameLoad If CompareLtE NameLoad Num body Return NameLoad Assign NameStore Call NameLoad NameLoad NameLoad If CompareLt NameLoad NameLoad body Return Call NameLoad NameLoad Assign TupleStore NameStore NameStore TupleLoad ListLoad BinOpSub NameLoad Num If CompareEq NameLoad Num body For NameStore SubscriptLoad NameLoad Slice UnaryOpUSub NameLoad body Expr Call AttributeLoad NameLoad attr Call NameLoad NameLoad Call NameLoad NameLoad NameLoad NameLoad AugAssignSub NameStore Num orelse For NameStore SubscriptLoad NameLoad Slice UnaryOpUSub NameLoad body Assign NameStore NameLoad For NameStore Call NameLoad BinOpSub NameLoad Num BinOpSub NameLoad NameLoad Num body AugAssignMult NameStore NameLoad Expr Call AttributeLoad NameLoad attr Call NameLoad NameLoad Call NameLoad NameLoad NameLoad NameLoad AugAssignSub NameStore Num Return Call NameLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam NameParam defaults body Expr Str If CompareEq NameLoad NameLoad body Return Call NameLoad NameLoad NameLoad NameLoad NameLoad Assign TupleStore NameStore NameStore TupleLoad BinOpSub NameLoad Num BinOpAdd NameLoad Num Return Call NameLoad ListComp Call NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad comprehension NameStore NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam defaults body Expr Str If BoolOpOr CompareLt NameLoad Num CompareGt NameLoad NameLoad body Raise Call NameLoad BinOpMod Str TupleLoad NameLoad NameLoad Return Call NameLoad NameLoad NameLoad NameLoad Num NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str If UnaryOpNot NameLoad body Return Call NameLoad NameLoad NameLoad Assign NameStore AttributeLoad NameLoad attr For NameStore NameLoad body AugAssignMult NameStore NameLoad AugAssignAdd NameStore NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam defaults body Expr Str If UnaryOpNot NameLoad body Return Call NameLoad NameLoad NameLoad NameLoad If UnaryOpNot NameLoad body Return Call NameLoad NameLoad NameLoad Assign TupleStore NameStore NameStore TupleLoad Call NameLoad NameLoad NameLoad BinOpSub NameLoad Num For NameStore SubscriptLoad NameLoad Slice Num body Assign NameStore Call NameLoad NameLoad NameLoad NameLoad NameLoad Assign NameStore Call NameLoad NameLoad NameLoad NameLoad NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam NameParam defaults body Expr Str If CompareEq NameLoad NameLoad body Return Call NameLoad NameLoad NameLoad NameLoad NameLoad Assign TupleStore NameStore NameStore TupleLoad BinOpSub NameLoad Num BinOpAdd NameLoad Num Return Call NameLoad ListComp Call NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad comprehension NameStore NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam defaults body Expr Str If BoolOpOr CompareLt NameLoad Num CompareGt NameLoad NameLoad body Raise Call NameLoad BinOpMod Str TupleLoad NameLoad NameLoad Return Call NameLoad NameLoad NameLoad NameLoad Num NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam defaults body Expr Str If CompareEq NameLoad NameLoad body Return Call NameLoad NameLoad SubscriptLoad NameLoad Index Num NameLoad orelse Assign NameStore ListComp Call NameLoad NameLoad BinOpAdd NameLoad Num NameLoad NameLoad NameLoad comprehension NameStore NameLoad If CompareLt NameLoad BinOpAdd BinOpSub NameLoad Call NameLoad NameLoad Num body Return NameLoad orelse Return Call NameLoad NameLoad SubscriptLoad NameLoad Index BinOpSub BinOpAdd UnaryOpUSub NameLoad NameLoad Num NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam defaults body Expr Str If UnaryOpNot NameLoad body Return NameLoad If Call NameLoad NameLoad NameLoad body Return Call NameLoad BinOpSub NameLoad Call NameLoad NameLoad Assign NameStore Call NameLoad NameLoad Num NameLoad NameLoad NameLoad If CompareEq NameLoad BinOpSub Call NameLoad NameLoad Num body Return NameLoad orelse Return Call NameLoad NameLoad BinOpSub NameLoad Call NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam NameParam NameParam defaults body Expr Str If CompareEq NameLoad NameLoad body Return Call NameLoad Call NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad Assign TupleStore NameStore NameStore TupleLoad BinOpSub NameLoad Num BinOpAdd NameLoad Num Return Call NameLoad ListComp Call NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad comprehension NameStore NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam NameParam defaults body Expr Str If CompareGt NameLoad NameLoad body Raise Call NameLoad BinOpMod Str TupleLoad NameLoad NameLoad NameLoad If UnaryOpNot NameLoad body Return Call NameLoad Call NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad Return Call NameLoad NameLoad NameLoad NameLoad NameLoad Num NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str If AttributeLoad NameLoad attr body Assign NameStore ListLoad For NameStore NameLoad body Assign NameStore BinOpMod NameLoad NameLoad If CompareGt NameLoad BinOpFloorDiv NameLoad Num body Expr Call AttributeLoad NameLoad attr BinOpSub NameLoad NameLoad orelse Expr Call AttributeLoad NameLoad attr NameLoad orelse Assign NameStore ListComp BinOpMod NameLoad NameLoad comprehension NameStore NameLoad Return Call NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam defaults body Expr Str Return Call NameLoad ListComp Call NameLoad NameLoad NameLoad BinOpSub NameLoad Num NameLoad comprehension NameStore NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam defaults body Expr Str If UnaryOpNot NameLoad body Return Call NameLoad NameLoad NameLoad NameLoad Assign NameStore BinOpSub NameLoad Num Return Call NameLoad ListComp Call NameLoad NameLoad NameLoad NameLoad NameLoad comprehension NameStore NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str If UnaryOpNot NameLoad body Return NameLoad Assign NameStore Call NameLoad NameLoad NameLoad If Call AttributeLoad NameLoad attr NameLoad body Return NameLoad orelse Return Call NameLoad NameLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str If UnaryOpNot NameLoad body Return Call NameLoad NameLoad NameLoad If Call NameLoad NameLoad NameLoad body Return NameLoad Assign NameStore Call NameLoad NameLoad NameLoad NameLoad If Call AttributeLoad NameLoad attr NameLoad body Return NameLoad orelse Return Call NameLoad NameLoad NameLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str ImportFrom alias If UnaryOpNot NameLoad body Return AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr If CompareEq NameLoad NameLoad body For NameStore NameLoad body Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad orelse For NameStore NameLoad body Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad If Call AttributeLoad NameLoad attr NameLoad body Break Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str ImportFrom alias If UnaryOpNot NameLoad body Return Call NameLoad NameLoad NameLoad If Call NameLoad NameLoad NameLoad body Return AttributeLoad NameLoad attr Assign TupleStore NameStore NameStore TupleLoad AttributeLoad NameLoad attr BinOpSub NameLoad Num If CompareEq NameLoad NameLoad body For NameStore NameLoad body Assign NameStore Call AttributeLoad NameLoad attr NameLoad Call NameLoad NameLoad NameLoad NameLoad orelse For NameStore NameLoad body Assign NameStore Call AttributeLoad NameLoad attr NameLoad Call NameLoad NameLoad NameLoad NameLoad If Call AttributeLoad NameLoad attr NameLoad body Break Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str If UnaryOpNot NameLoad body Return TupleLoad AttributeLoad NameLoad attr NameLoad Assign NameStore Call NameLoad NameLoad NameLoad If Call AttributeLoad NameLoad attr NameLoad body Return TupleLoad NameLoad NameLoad orelse Return TupleLoad NameLoad Call NameLoad NameLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str If UnaryOpNot NameLoad body Return Call NameLoad NameLoad NameLoad If Call NameLoad NameLoad NameLoad body Return TupleLoad AttributeLoad NameLoad attr NameLoad Assign NameStore Call NameLoad NameLoad NameLoad NameLoad If Call AttributeLoad NameLoad attr NameLoad body Return TupleLoad NameLoad NameLoad orelse Return TupleLoad NameLoad Call NameLoad NameLoad NameLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad NameLoad Assign NameStore Call NameLoad NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad If UnaryOpNot Call AttributeLoad NameLoad attr NameLoad body Assign NameStore Call NameLoad NameLoad NameLoad NameLoad Assign NameStore Call NameLoad NameLoad NameLoad NameLoad Return TupleLoad NameLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad NameLoad NameLoad Assign NameStore Call NameLoad NameLoad NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad If UnaryOpNot Call AttributeLoad NameLoad attr NameLoad body Assign NameStore Call NameLoad NameLoad NameLoad NameLoad NameLoad Assign NameStore Call NameLoad NameLoad NameLoad NameLoad NameLoad Return TupleLoad NameLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str If BoolOpAnd UnaryOpNot AttributeLoad NameLoad attr UnaryOpNot AttributeLoad NameLoad attr body Raise Call NameLoad BinOpMod Str NameLoad Assign NameStore Call NameLoad Num Assign NameStore Call NameLoad Num If UnaryOpNot NameLoad body Return TupleLoad NameLoad NameLoad Assign NameStore ListLoad ListLoad ListLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr ListLoad ListLoad AttributeLoad NameLoad attr ListLoad Assign NameStore Call NameLoad SubscriptLoad NameLoad Index Num Num For NameStore SubscriptLoad NameLoad Slice Num body Assign NameStore Call NameLoad NameLoad NameLoad Num NameLoad Assign NameStore Call NameLoad NameLoad Call NameLoad NameLoad Num Num Num NameLoad Assign NameStore Call NameLoad NameLoad For TupleStore NameStore NameStore Call AttributeLoad NameLoad attr body Assign NameStore BinOpMod NameLoad Num If UnaryOpNot NameLoad body Assign NameStore Call NameLoad NameLoad NameLoad Num NameLoad orelse If CompareEq NameLoad Num body Assign NameStore Call NameLoad NameLoad NameLoad Num NameLoad orelse If CompareEq NameLoad Num body Assign NameStore Call NameLoad NameLoad NameLoad Num NameLoad orelse Assign NameStore Call NameLoad NameLoad NameLoad Num NameLoad Return TupleLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad For NameStore Call NameLoad BinOpSub Call NameLoad NameLoad Num Num Num body Assign SubscriptStore NameLoad Index NameLoad UnaryOpUSub SubscriptLoad NameLoad Index NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Assign TupleStore NameStore NameStore NameStore TupleLoad Call NameLoad NameLoad BinOpSub Call NameLoad NameLoad Num NameLoad For NameStore Call NameLoad BinOpSub NameLoad Num Num Num body Assign TupleStore SubscriptStore NameLoad Index NameLoad NameStore TupleLoad BinOpMult NameLoad SubscriptLoad NameLoad Index NameLoad BinOpMult NameLoad NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Assign TupleStore NameStore NameStore TupleLoad Call NameLoad NameLoad BinOpSub Call NameLoad NameLoad Num For NameStore Call NameLoad NameLoad Num Num body For NameStore Call NameLoad Num NameLoad body AugAssignAdd SubscriptStore NameLoad Index BinOpAdd NameLoad Num BinOpMult NameLoad SubscriptLoad NameLoad Index NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam defaults body Expr Str If UnaryOpNot NameLoad body Return ListLoad Assign NameStore BinOpSub Call NameLoad NameLoad Num Assign TupleStore NameStore NameStore TupleLoad ListLoad SubscriptLoad NameLoad Index Num ListLoad ListLoad AttributeLoad NameLoad attr For NameStore Call NameLoad Num NameLoad body Expr Call AttributeLoad NameLoad attr Call NameLoad SubscriptLoad NameLoad Index Num NameLoad NameLoad For TupleStore NameStore NameStore Call NameLoad SubscriptLoad NameLoad Slice Num SubscriptLoad NameLoad Slice Num body Assign NameStore Call NameLoad NameLoad NameLoad NameLoad Assign NameStore Call NameLoad NameLoad NameLoad NameLoad Assign NameStore Call NameLoad NameLoad NameLoad NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str If CompareLtE Call NameLoad NameLoad Num body Return Call NameLoad ListLoad Call NameLoad NameLoad Call NameLoad NameLoad NameLoad NameLoad If UnaryOpNot NameLoad body Return ListLoad Assign NameStore ListLoad SubscriptLoad NameLoad Index Num For NameStore SubscriptLoad NameLoad Slice Num body Assign NameStore Call NameLoad NameLoad NameLoad NameLoad Assign NameStore Call NameLoad NameLoad NameLoad Num NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam defaults body Expr Str If UnaryOpNot NameLoad body Return Call NameLoad NameLoad NameLoad NameLoad If Call NameLoad NameLoad NameLoad body Return NameLoad Assign NameStore ListLoad SubscriptLoad NameLoad Index Num For NameStore SubscriptLoad NameLoad Slice Num body Assign NameStore Call NameLoad NameLoad NameLoad NameLoad NameLoad Assign NameStore Call NameLoad NameLoad NameLoad Num NameLoad NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Assign NameStore BinOpSub Call NameLoad NameLoad Num Assign NameStore Call NameLoad NameLoad NameLoad Assign NameStore Call NameLoad NameLoad Assign NameStore Dict NameLoad AttributeLoad NameLoad attr Assign NameStore BinOpFloorDiv NameLoad NameLoad For NameStore Call NameLoad Num NameLoad body Assign NameStore AttributeLoad NameLoad attr For NameStore Call NameLoad Num NameLoad body If UnaryOpNot CompareIn BinOpSub BinOpAdd NameLoad NameLoad NameLoad NameLoad body Continue If UnaryOpNot CompareIn BinOpSub NameLoad NameLoad NameLoad body Continue Assign TupleStore NameStore NameStore TupleLoad SubscriptLoad NameLoad Index BinOpSub BinOpAdd NameLoad NameLoad NameLoad SubscriptLoad NameLoad Index BinOpSub NameLoad NameLoad AugAssignAdd NameStore BinOpMult BinOpMult BinOpSub NameLoad BinOpMult NameLoad NameLoad NameLoad NameLoad Assign SubscriptStore NameLoad Index BinOpSub NameLoad NameLoad Call AttributeLoad NameLoad attr NameLoad BinOpMult BinOpMult NameLoad NameLoad NameLoad Return Call NameLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Assign TupleStore NameStore NameStore TupleLoad Dict Num While NameLoad body Assign TupleStore NameStore NameStore Call NameLoad NameLoad NameLoad NameLoad If CompareGt Call NameLoad NameLoad Num body Return NameLoad orelse Assign SubscriptStore NameLoad Index NameLoad Call NameLoad NameLoad NameLoad Assign TupleStore NameStore NameStore TupleLoad NameLoad BinOpAdd NameLoad Num Return Call NameLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore BinOpSub Call NameLoad NameLoad Num For NameStore Call NameLoad Num NameLoad body If CompareNotEq BinOpMod NameLoad NameLoad Num body Continue Assign NameStore Call NameLoad NameLoad NameLoad NameLoad If CompareIsNot NameLoad NameLoad body Assign NameStore Call NameLoad NameLoad NameLoad NameLoad If CompareIsNot NameLoad NameLoad body Return TupleLoad NameLoad NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore ListLoad While NameLoad body Assign NameStore Call NameLoad NameLoad NameLoad If CompareIsNot NameLoad NameLoad body Assign TupleStore NameStore NameStore NameLoad Assign NameStore BinOpAdd ListLoad NameLoad NameLoad orelse Break Return BinOpAdd ListLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str If UnaryOpNot AttributeLoad NameLoad attr body Raise Call NameLoad Str Assign TupleStore NameStore NameStore NameStore TupleLoad Call NameLoad NameLoad NameLoad ListLoad ListLoad For TupleStore NameStore NameStore Call AttributeLoad NameLoad attr body If UnaryOpNot AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call NameLoad ListLoad Num Num Call NameLoad NameLoad keyword NameLoad For NameStore NameLoad body Assign NameStore Call NameLoad NameLoad For TupleStore NameStore NameStore Call NameLoad NameLoad NameLoad body If CompareEq NameLoad Num body Assign SubscriptStore NameLoad Index NameLoad UnaryOpUSub SubscriptLoad NameLoad Index NameLoad Expr Call AttributeLoad NameLoad attr Call NameLoad NameLoad NameLoad NameLoad Return Call NameLoad Call NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign TupleStore NameStore NameStore TupleLoad AttributeLoad NameLoad attr Num For NameStore NameLoad body If Call AttributeLoad NameLoad attr BinOpMult NameLoad NameLoad body AugAssignAdd NameStore Num If NameLoad body Assign NameStore NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam defaults NameLoad NameLoad body Expr Str If CompareIs NameLoad NameLoad body If AttributeLoad NameLoad attr body Assign NameStore Call AttributeLoad NameLoad attr orelse Assign NameStore NameLoad Assign NameStore AttributeLoad NameLoad attr For NameStore NameLoad body Assign NameStore Call AttributeLoad NameLoad attr NameLoad Call AttributeLoad NameLoad attr NameLoad If UnaryOpNot Call AttributeLoad NameLoad attr NameLoad body Assign NameStore Call NameLoad NameLoad NameLoad NameLoad If UnaryOpNot NameLoad body Return TupleLoad NameLoad NameLoad orelse Return TupleLoad NameLoad Call NameLoad NameLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam defaults body Expr Str Assign NameStore AttributeLoad NameLoad attr If UnaryOpNot NameLoad body For NameStore NameLoad body Assign NameStore Call AttributeLoad NameLoad attr NameLoad Call AttributeLoad NameLoad attr NameLoad orelse Assign NameStore BinOpSub NameLoad Num For NameStore NameLoad body Assign NameStore Call AttributeLoad NameLoad attr NameLoad Call NameLoad NameLoad NameLoad NameLoad NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam defaults NameLoad NameLoad body Expr Str If UnaryOpNot NameLoad body Return Call NameLoad NameLoad NameLoad NameLoad keyword NameLoad If CompareIs NameLoad NameLoad body If AttributeLoad NameLoad attr body Assign NameStore Call AttributeLoad NameLoad attr orelse Assign NameStore NameLoad Assign NameStore Call NameLoad NameLoad NameLoad NameLoad NameLoad If UnaryOpNot Call AttributeLoad NameLoad attr NameLoad body Assign NameStore Call NameLoad NameLoad NameLoad NameLoad NameLoad If UnaryOpNot NameLoad body Return TupleLoad NameLoad NameLoad orelse Return TupleLoad NameLoad Call NameLoad NameLoad NameLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Assign NameStore ListLoad Call AttributeLoad NameLoad attr Call NameLoad NameLoad NameLoad Assign NameStore ListLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign NameStore Call NameLoad Call NameLoad Call NameLoad NameLoad Num For NameStore Call NameLoad Num BinOpAdd NameLoad Num body Assign NameStore Call NameLoad NameLoad Call NameLoad Num NameLoad Assign NameStore Call NameLoad NameLoad Call NameLoad NameLoad NameLoad NameLoad Assign NameStore Call NameLoad Call NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad Assign NameStore Call NameLoad NameLoad Call NameLoad NameLoad NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam defaults body Expr Str If UnaryOpNot NameLoad body Return Call NameLoad NameLoad NameLoad NameLoad orelse Raise Call NameLoad NameLoad NameLoad decorator_list
N/A N/A Advanced tools for dense recursive polynomials in ``K[x]`` or ``K[X]``.  __future__ print_function division sympy.polys.densebasic dup_strip dmp_strip dup_convert dmp_convert dup_degree dmp_degree dmp_to_dict dmp_from_dict dup_LC dmp_LC dmp_ground_LC dup_TC dmp_TC dmp_zero dmp_ground dmp_zero_p dup_to_raw_dict dup_from_raw_dict dmp_zeros sympy.polys.densearith dup_add_term dmp_add_term dup_lshift dup_add dmp_add dup_sub dmp_sub dup_mul dmp_mul dup_sqr dup_div dup_rem dmp_rem dmp_expand dup_mul_ground dmp_mul_ground dup_quo_ground dmp_quo_ground dup_exquo_ground dmp_exquo_ground sympy.polys.polyerrors MultivariatePolynomialError DomainError sympy.utilities variations math ceil _ceil log _log sympy.core.compatibility range dup_integrate N/A N/A f m K N/A N/A N/A 
    Computes the indefinite integral of ``f`` in ``K[x]``.

    Examples
    ========

    >>> from sympy.polys import ring, QQ
    >>> R, x = ring("x", QQ)

    >>> R.dup_integrate(x**2 + 2*x, 1)
    1/3*x**3 + x**2
    >>> R.dup_integrate(x**2 + 2*x, 2)
    1/12*x**4 + 1/3*x**3

     N/A N/A N/A m 0 N/A f N/A N/A f N/A g N/A N/A N/A K zero m N/A N/A i c N/A enumerate N/A reversed f N/A N/A n N/A i 1 N/A j N/A range 1 m N/A N/A n N/A N/A i j 1 N/A N/A N/A g insert 0 N/A N/A K exquo c N/A K n N/A g N/A dmp_integrate N/A N/A f m u K N/A N/A N/A 
    Computes the indefinite integral of ``f`` in ``x_0`` in ``K[X]``.

    Examples
    ========

    >>> from sympy.polys import ring, QQ
    >>> R, x,y = ring("x,y", QQ)

    >>> R.dmp_integrate(x + 2*y, 1)
    1/2*x**2 + 2*x*y
    >>> R.dmp_integrate(x + 2*y, 2)
    1/6*x**3 + x**2*y

     N/A N/A u N/A N/A N/A dup_integrate f m K N/A N/A N/A m 0 N/A dmp_zero_p f u N/A N/A f N/A N/A g v N/A N/A dmp_zeros m N/A u 1 K N/A u 1 N/A N/A i c N/A enumerate N/A reversed f N/A N/A n N/A i 1 N/A j N/A range 1 m N/A N/A n N/A N/A i j 1 N/A N/A N/A g insert 0 N/A dmp_quo_ground c N/A K n v K N/A g N/A _rec_integrate_in N/A N/A g m v i j K N/A N/A N/A Recursive helper for :func:`dmp_integrate_in`. N/A N/A i j N/A N/A N/A dmp_integrate g m v K N/A N/A w i N/A N/A v 1 N/A i 1 N/A N/A dmp_strip N/A N/A _rec_integrate_in c m w i j K N/A c g v N/A dmp_integrate_in N/A N/A f m j u K N/A N/A N/A 
    Computes the indefinite integral of ``f`` in ``x_j`` in ``K[X]``.

    Examples
    ========

    >>> from sympy.polys import ring, QQ
    >>> R, x,y = ring("x,y", QQ)

    >>> R.dmp_integrate_in(x + 2*y, 1, 0)
    1/2*x**2 + 2*x*y
    >>> R.dmp_integrate_in(x + 2*y, 1, 1)
    x*y + y**2

     N/A N/A N/A j 0 N/A j u N/A N/A N/A IndexError N/A 0 <= j <= u expected, got %s N/A u j N/A N/A _rec_integrate_in f m u 0 j K N/A dup_diff N/A N/A f m K N/A N/A N/A 
    ``m``-th order derivative of a polynomial in ``K[x]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x = ring("x", ZZ)

    >>> R.dup_diff(x**3 + 2*x**2 + 3*x + 4, 1)
    3*x**2 + 4*x + 3
    >>> R.dup_diff(x**3 + 2*x**2 + 3*x + 4, 2)
    6*x + 4

     N/A N/A m 0 N/A N/A f N/A n N/A dup_degree f N/A N/A n m N/A N/A N/A N/A deriv N/A N/A N/A m 1 N/A N/A coeff N/A f N/A N/A m N/A N/A N/A N/A deriv append N/A N/A K n coeff N/A n 1 N/A N/A coeff N/A f N/A N/A m N/A N/A k n N/A i N/A range N/A n 1 N/A n m -1 N/A N/A k i N/A N/A N/A deriv append N/A N/A K k coeff N/A n 1 N/A N/A dup_strip deriv N/A dmp_diff N/A N/A f m u K N/A N/A N/A 
    ``m``-th order derivative in ``x_0`` of a polynomial in ``K[X]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x,y = ring("x,y", ZZ)

    >>> f = x*y**2 + 2*x*y + 3*x + 2*y**2 + 3*y + 1

    >>> R.dmp_diff(f, 1)
    y**2 + 2*y + 3
    >>> R.dmp_diff(f, 2)
    0

     N/A N/A u N/A N/A N/A dup_diff f m K N/A N/A m 0 N/A N/A f N/A n N/A dmp_degree f u N/A N/A n m N/A N/A N/A dmp_zero u N/A N/A deriv v N/A N/A N/A u 1 N/A N/A m 1 N/A N/A coeff N/A f N/A N/A m N/A N/A N/A N/A deriv append N/A dmp_mul_ground coeff N/A K n v K N/A n 1 N/A N/A coeff N/A f N/A N/A m N/A N/A k n N/A i N/A range N/A n 1 N/A n m -1 N/A N/A k i N/A N/A N/A deriv append N/A dmp_mul_ground coeff N/A K k v K N/A n 1 N/A N/A dmp_strip deriv u N/A _rec_diff_in N/A N/A g m v i j K N/A N/A N/A Recursive helper for :func:`dmp_diff_in`. N/A N/A i j N/A N/A N/A dmp_diff g m v K N/A N/A w i N/A N/A v 1 N/A i 1 N/A N/A dmp_strip N/A N/A _rec_diff_in c m w i j K N/A c g v N/A dmp_diff_in N/A N/A f m j u K N/A N/A N/A 
    ``m``-th order derivative in ``x_j`` of a polynomial in ``K[X]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x,y = ring("x,y", ZZ)

    >>> f = x*y**2 + 2*x*y + 3*x + 2*y**2 + 3*y + 1

    >>> R.dmp_diff_in(f, 1, 0)
    y**2 + 2*y + 3
    >>> R.dmp_diff_in(f, 1, 1)
    2*x*y + 2*x + 4*y + 3

     N/A N/A N/A j 0 N/A j u N/A N/A N/A IndexError N/A 0 <= j <= %s expected, got %s N/A u j N/A N/A _rec_diff_in f m u 0 j K N/A dup_eval N/A N/A f a K N/A N/A N/A 
    Evaluate a polynomial at ``x = a`` in ``K[x]`` using Horner scheme.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x = ring("x", ZZ)

    >>> R.dup_eval(x**2 + 2*x + 3, 2)
    11

     N/A N/A a N/A N/A N/A dup_TC f K N/A result N/A K zero N/A c f N/A N/A result a N/A result c N/A result N/A dmp_eval N/A N/A f a u K N/A N/A N/A 
    Evaluate a polynomial at ``x_0 = a`` in ``K[X]`` using the Horner scheme.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x,y = ring("x,y", ZZ)

    >>> R.dmp_eval(2*x*y + 3*x + y + 2, 2)
    5*y + 8

     N/A N/A u N/A N/A N/A dup_eval f a K N/A N/A a N/A N/A N/A dmp_TC f K N/A N/A result v N/A N/A dmp_LC f K N/A u 1 N/A coeff N/A f N/A 1 N/A N/A result N/A dmp_mul_ground result a v K N/A result N/A dmp_add result coeff v K N/A result N/A _rec_eval_in N/A N/A g a v i j K N/A N/A N/A Recursive helper for :func:`dmp_eval_in`. N/A N/A i j N/A N/A N/A dmp_eval g a v K N/A N/A v i N/A N/A v 1 N/A i 1 N/A N/A dmp_strip N/A N/A _rec_eval_in c a v i j K N/A c g v N/A dmp_eval_in N/A N/A f a j u K N/A N/A N/A 
    Evaluate a polynomial at ``x_j = a`` in ``K[X]`` using the Horner scheme.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x,y = ring("x,y", ZZ)

    >>> f = 2*x*y + 3*x + y + 2

    >>> R.dmp_eval_in(f, 2, 0)
    5*y + 8
    >>> R.dmp_eval_in(f, 2, 1)
    7*x + 4

     N/A N/A N/A j 0 N/A j u N/A N/A N/A IndexError N/A 0 <= j <= %s expected, got %s N/A u j N/A N/A _rec_eval_in f a u 0 j K N/A _rec_eval_tail N/A N/A g i A u K N/A N/A N/A Recursive helper for :func:`dmp_eval_tail`. N/A N/A i u N/A N/A N/A dup_eval g N/A A N/A -1 K N/A N/A h N/A N/A _rec_eval_tail c N/A i 1 A u K N/A c g N/A N/A i N/A N/A u N/A len A 1 N/A N/A h N/A N/A N/A dup_eval h N/A A N/A N/A N/A N/A u i 1 K N/A dmp_eval_tail N/A N/A f A u K N/A N/A N/A 
    Evaluate a polynomial at ``x_j = a_j, ...`` in ``K[X]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x,y = ring("x,y", ZZ)

    >>> f = 2*x*y + 3*x + y + 2

    >>> R.dmp_eval_tail(f, [2])
    7*x + 4
    >>> R.dmp_eval_tail(f, [2, 2])
    18

     N/A N/A A N/A N/A f N/A N/A dmp_zero_p f u N/A N/A N/A dmp_zero N/A u N/A len A N/A e N/A _rec_eval_tail f 0 A u K N/A N/A u N/A N/A len A 1 N/A N/A e N/A N/A N/A dmp_strip e N/A u N/A len A N/A _rec_diff_eval N/A N/A g m a v i j K N/A N/A N/A Recursive helper for :func:`dmp_diff_eval`. N/A N/A i j N/A N/A N/A dmp_eval N/A dmp_diff g m v K a v K N/A N/A v i N/A N/A v 1 N/A i 1 N/A N/A dmp_strip N/A N/A _rec_diff_eval c m a v i j K N/A c g v N/A dmp_diff_eval_in N/A N/A f m a j u K N/A N/A N/A 
    Differentiate and evaluate a polynomial in ``x_j`` at ``a`` in ``K[X]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x,y = ring("x,y", ZZ)

    >>> f = x*y**2 + 2*x*y + 3*x + 2*y**2 + 3*y + 1

    >>> R.dmp_diff_eval_in(f, 1, 2, 0)
    y**2 + 2*y + 3
    >>> R.dmp_diff_eval_in(f, 1, 2, 1)
    6*x + 11

     N/A N/A j u N/A N/A N/A IndexError N/A -%s <= j < %s expected, got %s N/A u u j N/A N/A j N/A N/A N/A dmp_eval N/A dmp_diff f m u K a u K N/A N/A _rec_diff_eval f m a u 0 j K N/A dup_trunc N/A N/A f p K N/A N/A N/A 
    Reduce a ``K[x]`` polynomial modulo a constant ``p`` in ``K``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x = ring("x", ZZ)

    >>> R.dup_trunc(2*x**3 + 3*x**2 + 5*x + 7, ZZ(3))
    -x**3 - x + 1

     N/A N/A K is_ZZ N/A N/A g N/A N/A c f N/A N/A c N/A c p N/A N/A c N/A p 2 N/A N/A N/A N/A g append N/A c p N/A N/A N/A N/A g append c N/A N/A g N/A N/A c p N/A c f N/A N/A dup_strip g N/A dmp_trunc N/A N/A f p u K N/A N/A N/A 
    Reduce a ``K[X]`` polynomial modulo a polynomial ``p`` in ``K[Y]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x,y = ring("x,y", ZZ)

    >>> f = 3*x**2*y + 8*x**2 + 5*x*y + 6*x + 2*y + 3
    >>> g = (y - 1).drop(x)

    >>> R.dmp_trunc(f, g)
    11*x**2 + 11*x + 5

     N/A N/A dmp_strip N/A N/A dmp_rem c p N/A u 1 K N/A c f u N/A dmp_ground_trunc N/A N/A f p u K N/A N/A N/A 
    Reduce a ``K[X]`` polynomial modulo a constant ``p`` in ``K``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x,y = ring("x,y", ZZ)

    >>> f = 3*x**2*y + 8*x**2 + 5*x*y + 6*x + 2*y + 3

    >>> R.dmp_ground_trunc(f, ZZ(3))
    -x**2 - x*y - y

     N/A N/A u N/A N/A N/A dup_trunc f p K N/A v N/A u 1 N/A N/A dmp_strip N/A N/A dmp_ground_trunc c p v K N/A c f u N/A dup_monic N/A N/A f K N/A N/A N/A 
    Divide all coefficients by ``LC(f)`` in ``K[x]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ, QQ

    >>> R, x = ring("x", ZZ)
    >>> R.dup_monic(3*x**2 + 6*x + 9)
    x**2 + 2*x + 3

    >>> R, x = ring("x", QQ)
    >>> R.dup_monic(3*x**2 + 4*x + 2)
    x**2 + 4/3*x + 2/3

     N/A N/A f N/A N/A f N/A lc N/A dup_LC f K N/A N/A N/A K is_one lc N/A N/A f N/A N/A N/A dup_exquo_ground f lc K N/A dmp_ground_monic N/A N/A f u K N/A N/A N/A 
    Divide all coefficients by ``LC(f)`` in ``K[X]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ, QQ

    >>> R, x,y = ring("x,y", ZZ)
    >>> f = 3*x**2*y + 6*x**2 + 3*x*y + 9*y + 3

    >>> R.dmp_ground_monic(f)
    x**2*y + 2*x**2 + x*y + 3*y + 1

    >>> R, x,y = ring("x,y", QQ)
    >>> f = 3*x**2*y + 8*x**2 + 5*x*y + 6*x + 2*y + 3

    >>> R.dmp_ground_monic(f)
    x**2*y + 8/3*x**2 + 5/3*x*y + 2*x + 2/3*y + 1

     N/A N/A u N/A N/A N/A dup_monic f K N/A N/A dmp_zero_p f u N/A N/A f N/A lc N/A dmp_ground_LC f u K N/A N/A N/A K is_one lc N/A N/A f N/A N/A N/A dmp_exquo_ground f lc u K N/A dup_content N/A N/A f K N/A N/A N/A 
    Compute the GCD of coefficients of ``f`` in ``K[x]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ, QQ

    >>> R, x = ring("x", ZZ)
    >>> f = 6*x**2 + 8*x + 12

    >>> R.dup_content(f)
    2

    >>> R, x = ring("x", QQ)
    >>> f = 6*x**2 + 8*x + 12

    >>> R.dup_content(f)
    2

     sympy.polys.domains QQ N/A N/A f N/A N/A N/A K zero N/A cont N/A K zero N/A N/A K QQ N/A N/A c f N/A N/A cont N/A N/A K gcd cont c N/A N/A c f N/A N/A cont N/A N/A K gcd cont c N/A N/A N/A K is_one cont N/A N/A N/A cont N/A dmp_ground_content N/A N/A f u K N/A N/A N/A 
    Compute the GCD of coefficients of ``f`` in ``K[X]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ, QQ

    >>> R, x,y = ring("x,y", ZZ)
    >>> f = 2*x*y + 6*x + 4*y + 12

    >>> R.dmp_ground_content(f)
    2

    >>> R, x,y = ring("x,y", QQ)
    >>> f = 2*x*y + 6*x + 4*y + 12

    >>> R.dmp_ground_content(f)
    2

     sympy.polys.domains QQ N/A N/A u N/A N/A N/A dup_content f K N/A N/A dmp_zero_p f u N/A N/A N/A K zero N/A N/A cont v N/A N/A K zero N/A u 1 N/A N/A K QQ N/A N/A c f N/A N/A cont N/A N/A K gcd cont N/A dmp_ground_content c v K N/A N/A c f N/A N/A cont N/A N/A K gcd cont N/A dmp_ground_content c v K N/A N/A N/A K is_one cont N/A N/A N/A cont N/A dup_primitive N/A N/A f K N/A N/A N/A 
    Compute content and the primitive form of ``f`` in ``K[x]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ, QQ

    >>> R, x = ring("x", ZZ)
    >>> f = 6*x**2 + 8*x + 12

    >>> R.dup_primitive(f)
    (2, 3*x**2 + 4*x + 6)

    >>> R, x = ring("x", QQ)
    >>> f = 6*x**2 + 8*x + 12

    >>> R.dup_primitive(f)
    (2, 3*x**2 + 4*x + 6)

     N/A N/A f N/A N/A N/A N/A K zero f N/A cont N/A dup_content f K N/A N/A N/A K is_one cont N/A N/A N/A cont f N/A N/A N/A cont N/A dup_quo_ground f cont K N/A dmp_ground_primitive N/A N/A f u K N/A N/A N/A 
    Compute content and the primitive form of ``f`` in ``K[X]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ, QQ

    >>> R, x,y = ring("x,y", ZZ)
    >>> f = 2*x*y + 6*x + 4*y + 12

    >>> R.dmp_ground_primitive(f)
    (2, x*y + 3*x + 2*y + 6)

    >>> R, x,y = ring("x,y", QQ)
    >>> f = 2*x*y + 6*x + 4*y + 12

    >>> R.dmp_ground_primitive(f)
    (2, x*y + 3*x + 2*y + 6)

     N/A N/A u N/A N/A N/A dup_primitive f K N/A N/A dmp_zero_p f u N/A N/A N/A N/A K zero f N/A cont N/A dmp_ground_content f u K N/A N/A N/A K is_one cont N/A N/A N/A cont f N/A N/A N/A cont N/A dmp_quo_ground f cont u K N/A dup_extract N/A N/A f g K N/A N/A N/A 
    Extract common content from a pair of polynomials in ``K[x]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x = ring("x", ZZ)

    >>> R.dup_extract(6*x**2 + 12*x + 18, 4*x**2 + 8*x + 12)
    (2, 3*x**2 + 6*x + 9, 2*x**2 + 4*x + 6)

     N/A fc N/A dup_content f K N/A gc N/A dup_content g K N/A gcd N/A N/A K gcd fc gc N/A N/A N/A N/A K is_one gcd N/A N/A f N/A dup_quo_ground f gcd K N/A g N/A dup_quo_ground g gcd K N/A N/A gcd f g N/A dmp_ground_extract N/A N/A f g u K N/A N/A N/A 
    Extract common content from a pair of polynomials in ``K[X]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x,y = ring("x,y", ZZ)

    >>> R.dmp_ground_extract(6*x*y + 12*x + 18, 4*x*y + 8*x + 12)
    (2, 3*x*y + 6*x + 9, 2*x*y + 4*x + 6)

     N/A fc N/A dmp_ground_content f u K N/A gc N/A dmp_ground_content g u K N/A gcd N/A N/A K gcd fc gc N/A N/A N/A N/A K is_one gcd N/A N/A f N/A dmp_quo_ground f gcd u K N/A g N/A dmp_quo_ground g gcd u K N/A N/A gcd f g N/A dup_real_imag N/A N/A f K N/A N/A N/A 
    Return bivariate polynomials ``f1`` and ``f2``, such that ``f = f1 + f2*I``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x,y = ring("x,y", ZZ)

    >>> R.dup_real_imag(x**3 + x**2 + x + 1)
    (x**3 + x**2 - 3*x*y**2 + x - y**2 + 1, 3*x**2*y + 2*x*y - y**3 + y)

     N/A N/A N/A N/A K is_ZZ N/A N/A K is_QQ N/A N/A N/A DomainError N/A computing real and imaginary parts is not supported over %s K N/A f1 N/A dmp_zero 1 N/A f2 N/A dmp_zero 1 N/A N/A f N/A N/A N/A f1 f2 N/A g N/A N/A N/A N/A K one N/A K zero N/A N/A N/A K one N/A N/A h N/A dmp_ground N/A f N/A 0 2 N/A c N/A f N/A 1 N/A N/A h N/A dmp_mul h g 2 K N/A h N/A dmp_add_term h N/A dmp_ground c 1 0 2 K N/A H N/A dup_to_raw_dict h N/A N/A k h N/A N/A H items N/A N/A m N/A k 4 N/A N/A m N/A N/A f1 N/A dmp_add f1 h 1 K N/A N/A N/A m 1 N/A N/A f2 N/A dmp_add f2 h 1 K N/A N/A N/A m 2 N/A N/A f1 N/A dmp_sub f1 h 1 K N/A N/A f2 N/A dmp_sub f2 h 1 K N/A N/A f1 f2 N/A dup_mirror N/A N/A f K N/A N/A N/A 
    Evaluate efficiently the composition ``f(-x)`` in ``K[x]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x = ring("x", ZZ)

    >>> R.dup_mirror(x**3 + 2*x**2 - 4*x + 2)
    -x**3 + 2*x**2 + 4*x + 2

     N/A f N/A list f N/A i N/A range N/A N/A len f 2 -1 -2 N/A N/A N/A f N/A i N/A N/A f N/A i N/A f N/A dup_scale N/A N/A f a K N/A N/A N/A 
    Evaluate efficiently composition ``f(a*x)`` in ``K[x]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x = ring("x", ZZ)

    >>> R.dup_scale(x**2 - 2*x + 1, ZZ(2))
    4*x**2 - 4*x + 1

     N/A N/A f n b N/A N/A list f N/A N/A len f 1 a N/A i N/A range N/A n 1 -1 -1 N/A N/A N/A N/A f N/A i b N/A N/A b N/A f N/A i N/A b a N/A f N/A dup_shift N/A N/A f a K N/A N/A N/A 
    Evaluate efficiently Taylor shift ``f(x + a)`` in ``K[x]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x = ring("x", ZZ)

    >>> R.dup_shift(x**2 - 2*x + 1, ZZ(2))
    x**2 + 2*x + 1

     N/A N/A f n N/A N/A list f N/A N/A len f 1 N/A i N/A range n 0 -1 N/A N/A j N/A range 0 i N/A N/A N/A f N/A N/A j 1 N/A a N/A f N/A j N/A f N/A dup_transform N/A N/A f p q K N/A N/A N/A 
    Evaluate functional transformation ``q**n * f(p/q)`` in ``K[x]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x = ring("x", ZZ)

    >>> R.dup_transform(x**2 - 2*x + 1, x**2 + 1, x - 1)
    x**4 - 2*x**3 + 5*x**2 - 4*x + 4

     N/A N/A f N/A N/A N/A N/A n N/A N/A len f 1 N/A N/A h Q N/A N/A N/A f N/A 0 N/A N/A N/A K one N/A i N/A range 0 n N/A N/A N/A N/A Q append N/A dup_mul N/A Q N/A -1 q K N/A N/A c q N/A zip N/A f N/A 1 N/A Q N/A 1 N/A N/A h N/A dup_mul h p K N/A q N/A dup_mul_ground q c K N/A h N/A dup_add h q K N/A h N/A dup_compose N/A N/A f g K N/A N/A N/A 
    Evaluate functional composition ``f(g)`` in ``K[x]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x = ring("x", ZZ)

    >>> R.dup_compose(x**2 + x, x - 1)
    x**2 - x

     N/A N/A N/A len g 1 N/A N/A N/A dup_strip N/A N/A dup_eval f N/A dup_LC g K K N/A N/A f N/A N/A N/A N/A h N/A N/A f N/A 0 N/A c N/A f N/A 1 N/A N/A h N/A dup_mul h g K N/A h N/A dup_add_term h c 0 K N/A h N/A dmp_compose N/A N/A f g u K N/A N/A N/A 
    Evaluate functional composition ``f(g)`` in ``K[X]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x,y = ring("x,y", ZZ)

    >>> R.dmp_compose(x*y + 2*x + y, y)
    y**2 + 3*y

     N/A N/A u N/A N/A N/A dup_compose f g K N/A N/A dmp_zero_p f u N/A N/A f N/A h N/A N/A f N/A 0 N/A c N/A f N/A 1 N/A N/A h N/A dmp_mul h g u K N/A h N/A dmp_add_term h c 0 u K N/A h N/A _dup_right_decompose N/A N/A f s K N/A N/A N/A Helper function for :func:`_dup_decompose`. N/A n N/A N/A len f 1 N/A lc N/A dup_LC f K N/A f N/A dup_to_raw_dict f N/A g N/A s N/A K one N/A r N/A n s N/A i N/A range 1 s N/A N/A coeff N/A K zero N/A j N/A range 0 i N/A N/A N/A N/A N/A N/A n j i f N/A N/A N/A N/A N/A N/A s j g N/A N/A N/A N/A fc gc N/A N/A f N/A N/A N/A n j i N/A g N/A N/A s j N/A coeff N/A N/A N/A i N/A r j fc gc N/A N/A g N/A N/A s i N/A N/A K quo coeff N/A N/A i r lc N/A N/A dup_from_raw_dict g K N/A _dup_left_decompose N/A N/A f h K N/A N/A N/A Helper function for :func:`_dup_decompose`. N/A N/A g i N/A N/A 0 N/A f N/A N/A N/A q r N/A dup_div f h K N/A N/A N/A dup_degree r 0 N/A N/A None N/A N/A N/A g N/A i N/A dup_LC r K N/A N/A f i N/A q N/A i 1 N/A N/A dup_from_raw_dict g K N/A _dup_decompose N/A N/A f K N/A N/A N/A Helper function for :func:`dup_decompose`. N/A df N/A N/A len f 1 N/A s N/A range 2 df N/A N/A N/A N/A df s 0 N/A N/A N/A h N/A _dup_right_decompose f s K N/A N/A h None N/A N/A g N/A _dup_left_decompose f h K N/A N/A g None N/A N/A N/A g h N/A None N/A dup_decompose N/A N/A f K N/A N/A N/A 
    Computes functional decomposition of ``f`` in ``K[x]``.

    Given a univariate polynomial ``f`` with coefficients in a field of
    characteristic zero, returns list ``[f_1, f_2, ..., f_n]``, where::

              f = f_1 o f_2 o ... f_n = f_1(f_2(... f_n))

    and ``f_2, ..., f_n`` are monic and homogeneous polynomials of at
    least second degree.

    Unlike factorization, complete functional decompositions of
    polynomials are not unique, consider examples:

    1. ``f o g = f(x + b) o (g - b)``
    2. ``x**n o x**m = x**m o x**n``
    3. ``T_n o T_m = T_m o T_n``

    where ``T_n`` and ``T_m`` are Chebyshev polynomials.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x = ring("x", ZZ)

    >>> R.dup_decompose(x**4 - 2*x**3 + x**2)
    [x**2, x**2 - x]

    References
    ==========

    1. [Kozen89]_

     N/A F N/A N/A True N/A N/A result N/A _dup_decompose f K N/A N/A result None N/A N/A N/A f h result N/A F N/A N/A h F N/A N/A N/A N/A N/A f F N/A dmp_lift N/A N/A f u K N/A N/A N/A 
    Convert algebraic coefficients to integers in ``K[X]``.

    Examples
    ========

    >>> from sympy.polys import ring, QQ
    >>> from sympy import I

    >>> K = QQ.algebraic_field(I)
    >>> R, x = ring("x", K)

    >>> f = x**2 + K([QQ(1), QQ(0)])*x + K([QQ(2), QQ(0)])

    >>> R.dmp_lift(f)
    x**8 + 2*x**6 + 9*x**4 - 8*x**2 + 16

     N/A N/A N/A K is_Algebraic N/A N/A N/A DomainError computation can be done only in an algebraic domain N/A N/A F monoms polys N/A N/A dmp_to_dict f u N/A N/A N/A N/A monom coeff N/A N/A F items N/A N/A N/A N/A coeff is_ground N/A N/A N/A N/A monoms append monom N/A perms N/A variations N/A -1 1 N/A len monoms repetition True N/A perm perms N/A N/A G N/A dict F N/A N/A sign monom N/A zip perm monoms N/A N/A N/A sign -1 N/A N/A N/A G N/A monom N/A N/A G N/A monom N/A N/A N/A polys append N/A dmp_from_dict G u K N/A N/A dmp_convert N/A dmp_expand polys u K u K N/A K dom N/A dup_sign_variations N/A N/A f K N/A N/A N/A 
    Compute the number of sign variations of ``f`` in ``K[x]``.

    Examples
    ========

    >>> from sympy.polys import ring, ZZ
    >>> R, x = ring("x", ZZ)

    >>> R.dup_sign_variations(x**4 - x**2 - x + 1)
    2

     N/A N/A prev k N/A N/A K zero 0 N/A coeff f N/A N/A N/A N/A K is_negative N/A coeff prev N/A N/A k 1 N/A coeff N/A N/A prev coeff N/A k N/A dup_clear_denoms N/A N/A f K0 K1 convert N/A None False N/A N/A 
    Clear denominators, i.e. transform ``K_0`` to ``K_1``.

    Examples
    ========

    >>> from sympy.polys import ring, QQ
    >>> R, x = ring("x", QQ)

    >>> f = QQ(1,2)*x + QQ(1,3)

    >>> R.dup_clear_denoms(f, convert=False)
    (6, 3*x + 2)
    >>> R.dup_clear_denoms(f, convert=True)
    (6, 3*x + 2)

     N/A N/A K1 None N/A N/A N/A K0 has_assoc_Ring N/A N/A K1 N/A N/A K0 get_ring N/A N/A K1 K0 N/A common N/A K1 one N/A c f N/A N/A common N/A N/A K1 lcm common N/A N/A K0 denom c N/A N/A N/A N/A K1 is_one common N/A N/A f N/A dup_mul_ground f common K0 N/A N/A convert N/A N/A N/A common f N/A N/A N/A common N/A dup_convert f K0 K1 N/A _rec_clear_denoms N/A N/A g v K0 K1 N/A N/A N/A Recursive helper for :func:`dmp_clear_denoms`. N/A common N/A K1 one N/A N/A v N/A N/A c g N/A N/A common N/A N/A K1 lcm common N/A N/A K0 denom c N/A N/A w N/A v 1 N/A c g N/A N/A common N/A N/A K1 lcm common N/A _rec_clear_denoms c w K0 K1 N/A common N/A dmp_clear_denoms N/A N/A f u K0 K1 convert N/A None False N/A N/A 
    Clear denominators, i.e. transform ``K_0`` to ``K_1``.

    Examples
    ========

    >>> from sympy.polys import ring, QQ
    >>> R, x,y = ring("x,y", QQ)

    >>> f = QQ(1,2)*x + QQ(1,3)*y + 1

    >>> R.dmp_clear_denoms(f, convert=False)
    (6, 3*x + 2*y + 6)
    >>> R.dmp_clear_denoms(f, convert=True)
    (6, 3*x + 2*y + 6)

     N/A N/A u N/A N/A N/A dup_clear_denoms f K0 K1 convert convert N/A N/A K1 None N/A N/A N/A K0 has_assoc_Ring N/A N/A K1 N/A N/A K0 get_ring N/A N/A K1 K0 N/A common N/A _rec_clear_denoms f u K0 K1 N/A N/A N/A N/A K1 is_one common N/A N/A f N/A dmp_mul_ground f common u K0 N/A N/A convert N/A N/A N/A common f N/A N/A N/A common N/A dmp_convert f u K0 K1 N/A dup_revert N/A N/A f n K N/A N/A N/A 
    Compute ``f**(-1)`` mod ``x**n`` using Newton iteration.

    This function computes first ``2**n`` terms of a polynomial that
    is a result of inversion of a polynomial modulo ``x**n``. This is
    useful to efficiently compute series expansion of ``1/f``.

    Examples
    ========

    >>> from sympy.polys import ring, QQ
    >>> R, x = ring("x", QQ)

    >>> f = -QQ(1,720)*x**6 + QQ(1,24)*x**4 - QQ(1,2)*x**2 + 1

    >>> R.dup_revert(f, 8)
    61/720*x**6 + 5/24*x**4 + 1/2*x**2 + 1

     N/A g N/A N/A N/A K revert N/A dup_TC f K N/A h N/A N/A K one N/A K zero N/A K zero N/A N N/A int N/A _ceil N/A _log n 2 N/A i N/A range 1 N/A N 1 N/A N/A a N/A dup_mul_ground g N/A K 2 K N/A b N/A dup_mul f N/A dup_sqr g K K N/A g N/A dup_rem N/A dup_sub a b K h K N/A h N/A dup_lshift h N/A dup_degree h K N/A g N/A dmp_revert N/A N/A f g u K N/A N/A N/A 
    Compute ``f**(-1)`` mod ``x**n`` using Newton iteration.

    Examples
    ========

    >>> from sympy.polys import ring, QQ
    >>> R, x,y = ring("x,y", QQ)

     N/A N/A u N/A N/A N/A dup_revert f g K N/A N/A N/A MultivariatePolynomialError f g N/A