Macaulay2 Engine
Loading...
Searching...
No Matches

◆ invert()

TowerPolynomial DPoly::invert ( int level,
const TowerPolynomial a )

Definition at line 855 of file dpoly.cpp.

856{
857 // plan: compute the extended gcd of a and extensions[level]
858 // as univariate polynomials (at level 'level').
859 // either return 0, if the gcd returned was not 1, or return
860 // result_u.
861 TowerPolynomial u, v;
862 TowerPolynomial g = gcd_coefficients(level, a, extensions[level], u, v);
863 if (!is_one(level, g))
864 {
865 dealloc_poly(u);
866 }
867 dealloc_poly(g);
868 dealloc_poly(v);
869 return u;
870}
TowerPolynomial * extensions
Definition dpoly.hpp:114
TowerPolynomial gcd_coefficients(int level, const TowerPolynomial f, const TowerPolynomial g, TowerPolynomial &result_u, TowerPolynomial &result_v)
Definition dpoly.cpp:1159
static void dealloc_poly(TowerPolynomial &f)
Definition dpoly.cpp:292
static bool is_one(int level, const TowerPolynomial f)
Definition dpoly.cpp:595

References dealloc_poly(), extensions, gcd_coefficients(), and is_one().

Referenced by division_in_place(), and make_monic_n().