# MrvLimitPackage¶

Compute limits using Gruntz-Gonnet MRV algorithm

expr_to_series: (Expression Integer, Kernel Expression Integer, Record(tan_syms: List Symbol, atan_syms: List Symbol, tan_kers: List Kernel Expression Integer, atan_kers: List Kernel Expression Integer)) -> Union(Record(degree: OrderedExpression, coeff: Expression Integer), failed)

Compute degree and leading coefficinet of series expansion

mrv_cmp: (Kernel Expression Integer, Kernel Expression Integer, Symbol, Record(tan_syms: List Symbol, atan_syms: List Symbol, tan_kers: List Kernel Expression Integer, atan_kers: List Kernel Expression Integer)) -> Union(Record(sign: Integer, coeff: Expression Integer), failed)

Compare kernels

mrv_limit1: (Expression Integer, Symbol) -> Union(OrderedCompletion Expression Integer, failed)

normalize and compute limit.

mrv_limit: (Expression Integer, Equation Expression Integer, String) -> Union(OrderedCompletion Expression Integer, failed)

Compute limit(f(x), x=a) for a strictly finite limit point a This function computes one-sided limits from the left or right

mrv_limit: (Expression Integer, Equation OrderedCompletion Expression Integer) -> Union(OrderedCompletion Expression Integer, Record(leftHandLimit: Union(OrderedCompletion Expression Integer, failed), rightHandLimit: Union(OrderedCompletion Expression Integer, failed)), failed)

Compute limit(f(x), x=a) for a finite or infinite limit point a

mrv_limit: (Expression Integer, Symbol, Expression Integer, String) -> Union(OrderedCompletion Expression Integer, failed)

mrv_limit(f, x, a, str) is like mrv_limit(f, x = a, str)

mrv_limit: (Expression Integer, Symbol, OrderedCompletion Expression Integer) -> Union(OrderedCompletion Expression Integer, Record(leftHandLimit: Union(OrderedCompletion Expression Integer, failed), rightHandLimit: Union(OrderedCompletion Expression Integer, failed)), failed)

mrv_limit(f, x, a) is like mrv_limit(f, x = a)

mrv_limit: (Expression Integer, Symbol, Record(tan_syms: List Symbol, atan_syms: List Symbol, tan_kers: List Kernel Expression Integer, atan_kers: List Kernel Expression Integer)) -> Union(OrderedCompletion Expression Integer, failed)

Compute limit.

mrv_normalize: (Expression Integer, Symbol, Record(tan_syms: List Symbol, atan_syms: List Symbol, tan_kers: List Kernel Expression Integer, atan_kers: List Kernel Expression Integer)) -> Expression Integer

mrv_normalize(f, x) transform f to the form acceptable by core variant of mrv_limit.

mrv_rewrite0: (Expression Integer, List Kernel Expression Integer, List Expression Integer, Expression Integer) -> Expression Integer

mrv_rewrite0

mrv_rewrite: (Expression Integer, List Kernel Expression Integer, List Expression Integer, Symbol, Record(tan_syms: List Symbol, atan_syms: List Symbol, tan_kers: List Kernel Expression Integer, atan_kers: List Kernel Expression Integer)) -> Union(Record(degree: OrderedExpression, coeff: Expression Integer), failed)

rewrite

mrv_set: (Expression Integer, Symbol, Record(tan_syms: List Symbol, atan_syms: List Symbol, tan_kers: List Kernel Expression Integer, atan_kers: List Kernel Expression Integer)) -> Union(Record(lk: List Kernel Expression Integer, lc: List Expression Integer), failed)

Compute MRV set

mrv_sign: (Expression Integer, Symbol, Record(tan_syms: List Symbol, atan_syms: List Symbol, tan_kers: List Kernel Expression Integer, atan_kers: List Kernel Expression Integer)) -> Union(Integer, failed)