|
carl
25.04
Computer ARithmetic Library
|
Extended Zassenhaus algorithm for multivariate GCD calculation. More...
#include <EZGCD.h>

Public Member Functions | |
| EZGCD (const MultivariatePolynomial< Coeff, Ordering, Policies > &p1, const MultivariatePolynomial< Coeff, Ordering, Policies > &p2) | |
| Result | calculate (bool approx=true) |
Private Types | |
| typedef MultivariatePolynomial< Coeff, Ordering, Policies > | Polynomial |
| typedef GCDResult< Coeff, Ordering, Policies > | Result |
| typedef Polynomial::TermType | Term |
| typedef IntegralType< Coeff >::type | Integer |
| typedef UnivariatePolynomial< MultivariatePolynomial< Coeff, Ordering, Policies > > | UnivReprPol |
| typedef UnivariatePolynomial< Coeff > | UnivPol |
Private Member Functions | |
| Variable | getMainVar (const Polynomial p1, const Polynomial p2) const |
| Given the two polynomials, find a suitable main variable for gcd. More... | |
| Integer | getPrime (const UnivReprPol &A, const UnivReprPol &B) |
| std::map< Variable, Integer > | findEval (const UnivReprPol &A, const UnivReprPol &B, Integer p) const |
| Find a valid evaluation point b = (b_1, ... More... | |
Private Attributes | |
| const Polynomial & | mp1 |
| const Polynomial & | mp2 |
| PrimeFactory< Integer > | mPrimeFactory |
Extended Zassenhaus algorithm for multivariate GCD calculation.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
inline |
|
inline |
|
inlineprivate |
Find a valid evaluation point b = (b_1, ...
, b_k) with 0 <= b_i < p and b_i = 0 for as many i as possible.
| A | Polynomial in Z[x, y_1,...,y_k] |
| B | Polynomial in Z[x, y_1,...,y_k] |
| p | Prime number |
Definition at line 226 of file EZGCD.h.

|
inlineprivate |
Given the two polynomials, find a suitable main variable for gcd.
| p1 | |
| p2 |
Definition at line 187 of file EZGCD.h.


|
inlineprivate |
|
private |
|
private |
|
private |