ModularHermitePadeΒΆ

modhpsol.spad line 1035 [edit on github]

This package provides modular Hermite-Pade solvers for a few rings. Solver over integers is implemented in this package. Also it contains interfaces to solver over $Z_p$ and solver over ring of integer polynomials.

check_sol1a: (Vector U32Vector, List U32Vector, (List U32Vector, Integer, Integer) -> Vector U32Vector, Integer, Integer, Integer) -> U32Vector

one round of modular Monte Carlo check for solutions.

get_variables: (List List Fraction Polynomial Integer, Symbol, Symbol) -> List Symbol

HP_solve_A: (List List AlgebraicNumber, List Integer, Symbol, NonNegativeInteger, (List U32Vector, Integer, Integer) -> Vector U32Vector, List SparseUnivariatePolynomial AlgebraicNumber -> Union(good, reject, no_solution)) -> Union(Matrix SparseUnivariatePolynomial AlgebraicNumber, Boolean)

Fake solver over algebraic numbers.

HP_solve_I: (List List Fraction Integer, List Integer, Symbol, NonNegativeInteger, (List U32Vector, Integer, Integer) -> Vector U32Vector, List SparseUnivariatePolynomial Integer -> Union(good, reject, no_solution)) -> Union(Matrix SparseUnivariatePolynomial Integer, Boolean)

implements HP_solve over integers.

HP_solve_M: (List List Integer, List Integer, Symbol, Integer, NonNegativeInteger, (List U32Vector, Integer, Integer) -> Vector U32Vector, List SparseUnivariatePolynomial Integer -> Union(good, reject, no_solution)) -> Union(Matrix SparseUnivariatePolynomial Integer, Boolean)

implements HP_solve over $Z_p$ with machine-sized $p$.

HP_solve_P: (List List Fraction Polynomial Integer, List Integer, Symbol, Symbol, NonNegativeInteger, (List U32Vector, Integer, Integer) -> Vector U32Vector, List SparseUnivariatePolynomial Polynomial Integer -> Union(good, reject, no_solution)) -> Union(Matrix SparseUnivariatePolynomial Polynomial Integer, Boolean)

implements HP_solve over integer polynomials.

HP_solve_PA: (List List Fraction Polynomial AlgebraicNumber, List Integer, Symbol, Symbol, NonNegativeInteger, (List U32Vector, Integer, Integer) -> Vector U32Vector, List SparseUnivariatePolynomial Polynomial AlgebraicNumber -> Union(good, reject, no_solution)) -> Union(Matrix SparseUnivariatePolynomial Polynomial AlgebraicNumber, Boolean)

Fake solver over polynomials having algebraic coefficients.

LLFI_to_LPA: (List List Fraction Integer, Integer, Integer) -> Union(List U32Vector, failed)

evaluation routine

LLFPI_to_LPA: (List List Fraction Polynomial Integer, Integer, List Symbol, List Integer, Integer) -> Union(List U32Vector, failed)

evaluation routine

unpack_poly: (List Symbol, SortedExponentVector, PrimitiveArray Integer, Integer, Integer) -> SparseUnivariatePolynomial Polynomial Integer

unpack_poly(vars, exps, coeffs, lo, hi) converts polynomial from packed to sparse representation. Coefficients of packed polynomial are stored in coeffs(l0) up to coeffs(hi) Exponents are stored in corresponding elements of exps.

VSUPI_to_VPA: (Vector SparseUnivariatePolynomial Integer, Integer) -> Vector U32Vector

evaluation routine

VSUPPI_to_VPA: (Vector SparseUnivariatePolynomial Polynomial Integer, List Symbol, List Integer, Integer) -> Vector U32Vector

evaluation routine