My Project
|
This file provides utility functions for multivariate factorization. More...
Go to the source code of this file.
Functions | |
static void | appendSwap (CFList &factors1, const CFList &factors2, const int swapLevel1, const int swapLevel2, const Variable &x) |
void | swap (CFList &factors, const int swapLevel1, const int swapLevel2, const Variable &x) |
swap elements in factors More... | |
void | appendSwapDecompress (CFList &factors1, const CFList &factors2, const CFMap &N, const int swapLevel, const Variable &x) |
swap elements of factors2, append them to factors1 and decompress More... | |
void | appendSwapDecompress (CFList &factors1, const CFList &factors2, const CFMap &N, const int swapLevel1, const int swapLevel2, const Variable &x) |
swap elements of factors2, append them to factors1 and decompress More... | |
int * | liftingBounds (const CanonicalForm &A, const int &bivarLiftBound) |
compute lifting bounds More... | |
CanonicalForm | shift2Zero (const CanonicalForm &F, CFList &Feval, const CFList &evaluation, int l) |
shift evaluation point to zero More... | |
CanonicalForm | reverseShift (const CanonicalForm &F, const CFList &evaluation, int l) |
reverse shifting the evaluation point to zero More... | |
bool | isOnlyLeadingCoeff (const CanonicalForm &F) |
check if F consists of more than just the leading coeff wrt. Variable (1) More... | |
CanonicalForm | myGetVars (const CanonicalForm &F) |
like getVars but including multiplicities More... | |
int | compareByNumberOfVars (const CFFactor &F, const CFFactor &G) |
CFFList | sortCFFListByNumOfVars (CFFList &F) |
sort CFFList by the number variables in a factor More... | |
CFList | evaluateAtZero (const CanonicalForm &F) |
evaluate F successively n-2 at 0 More... | |
CFList | evaluateAtEval (const CanonicalForm &F, const CFArray &eval) |
evaluate F at evaluation More... | |
CFList | evaluateAtEval (const CanonicalForm &F, const CFList &evaluation, int l) |
evaluate F at evaluation More... | |
CFList | recoverFactors (const CanonicalForm &F, const CFList &factors) |
divides factors by their content wrt. Variable(1) and checks if these polys divide F More... | |
CFList | recoverFactors (const CanonicalForm &F, const CFList &factors, const CFList &evaluation) |
divides factors shifted by evaluation by their content wrt. Variable(1) and checks if these polys divide F More... | |
CFList | recoverFactors (CanonicalForm &F, const CFList &factors, int *index) |
checks if factors divide F, if so F is divided by this factor and the factor is divided by its content wrt. Variable(1) and the entry in index at the position of the factor is set to 1, otherwise the entry in index is set to 0 More... | |
This file provides utility functions for multivariate factorization.
Definition in file facFqFactorizeUtil.cc.
|
inlinestatic |
Definition at line 22 of file facFqFactorizeUtil.cc.
void appendSwapDecompress | ( | CFList & | factors1, |
const CFList & | factors2, | ||
const CFMap & | N, | ||
const int | swapLevel, | ||
const Variable & | x | ||
) |
swap elements of factors2, append them to factors1 and decompress
[in,out] | factors1 | a list of polys, returns swapped elements of factors2 appended to it and everything is decompressed |
[in] | factors2 | a list of polys |
[in] | N | a map |
[in] | swapLevel | level of variable to be swapped with x, 0 if no swapping |
[in] | x | a variable |
Definition at line 69 of file facFqFactorizeUtil.cc.
void appendSwapDecompress | ( | CFList & | factors1, |
const CFList & | factors2, | ||
const CFMap & | N, | ||
const int | swapLevel1, | ||
const int | swapLevel2, | ||
const Variable & | x | ||
) |
swap elements of factors2, append them to factors1 and decompress
[in,out] | factors1 | a list of polys, returns swapped elements of factors2 appended to it and everything is decompressed |
[in] | factors2 | a list of polys |
[in] | N | a map |
[in] | swapLevel1 | level of variable to be swapped with x, 0 if no swapping |
[in] | swapLevel2 | level of variable to be swapped with x, 0 if no swapping |
[in] | x | a variable |
Definition at line 87 of file facFqFactorizeUtil.cc.
Definition at line 180 of file facFqFactorizeUtil.cc.
CFList evaluateAtEval | ( | const CanonicalForm & | F, |
const CFArray & | evaluation | ||
) |
evaluate F at evaluation
[in] | F | some poly |
[in] | eval | some evaluation point |
Definition at line 206 of file facFqFactorizeUtil.cc.
CFList evaluateAtEval | ( | const CanonicalForm & | F, |
const CFList & | evaluation, | ||
int | l | ||
) |
evaluate F at evaluation
[in] | F | some poly |
[in] | evaluation | some evaluation point |
[in] | l | level to start at |
Definition at line 220 of file facFqFactorizeUtil.cc.
CFList evaluateAtZero | ( | const CanonicalForm & | F | ) |
evaluate F successively n-2 at 0
[in] | F | some poly |
Definition at line 193 of file facFqFactorizeUtil.cc.
bool isOnlyLeadingCoeff | ( | const CanonicalForm & | F | ) |
check if F consists of more than just the leading coeff wrt. Variable (1)
[in] | F | some poly |
Definition at line 162 of file facFqFactorizeUtil.cc.
int * liftingBounds | ( | const CanonicalForm & | A, |
const int & | bivarLiftBound | ||
) |
compute lifting bounds
[in] | A | a compressed poly |
[in] | bivarLiftBound | lift bound for biFactorizer() |
Definition at line 118 of file facFqFactorizeUtil.cc.
CanonicalForm myGetVars | ( | const CanonicalForm & | F | ) |
like getVars but including multiplicities
like getVars but each variable x occuring in F is raised to x^degree (F,x)
[in] | F | a polynomial |
Definition at line 168 of file facFqFactorizeUtil.cc.
CFList recoverFactors | ( | CanonicalForm & | F, |
const CFList & | factors, | ||
int * | index | ||
) |
checks if factors divide F, if so F is divided by this factor and the factor is divided by its content wrt. Variable(1) and the entry in index at the position of the factor is set to 1, otherwise the entry in index is set to 0
[in,out] | F | some poly F |
[in] | factors | some list of factor candidates |
[in] | index | position of real factors |
Definition at line 278 of file facFqFactorizeUtil.cc.
CFList recoverFactors | ( | const CanonicalForm & | F, |
const CFList & | factors | ||
) |
divides factors by their content wrt. Variable(1) and checks if these polys divide F
[in] | F | some poly F |
[in] | factors | some list of factor candidates |
Definition at line 238 of file facFqFactorizeUtil.cc.
CFList recoverFactors | ( | const CanonicalForm & | F, |
const CFList & | factors, | ||
const CFList & | evaluation | ||
) |
divides factors shifted by evaluation by their content wrt. Variable(1) and checks if these polys divide F
[in] | F | some poly F |
[in] | factors | some list of factor candidates |
[in] | evaluation | evaluation point |
Definition at line 257 of file facFqFactorizeUtil.cc.
CanonicalForm reverseShift | ( | const CanonicalForm & | F, |
const CFList & | evaluation, | ||
int | l = 2 |
||
) |
reverse shifting the evaluation point to zero
[in] | F | a compressed poly |
[in] | evaluation | a valid evaluation point |
[in] | l | level at which the evaluation starts |
Definition at line 148 of file facFqFactorizeUtil.cc.
CanonicalForm shift2Zero | ( | const CanonicalForm & | F, |
CFList & | Feval, | ||
const CFList & | evaluation, | ||
int | l = 2 |
||
) |
shift evaluation point to zero
[in] | F | a compressed poly |
[in,out] | Feval | an empty list, returns F successively evaluated at 0 |
[in] | evaluation | a valid evaluation point |
[in] | l | level at which the evaluation starts |
Definition at line 131 of file facFqFactorizeUtil.cc.
sort CFFList by the number variables in a factor
[in,out] | F | a list of factors |
Definition at line 186 of file facFqFactorizeUtil.cc.
swap elements in factors
[in] | factors | a list of polys, returns swapped elements of factors |
[in] | swapLevel1 | level of variable to be swapped with x, 0 if no swapping |
[in] | swapLevel2 | level of variable to be swapped with x, 0 if no swapping |
[in] | x | a variable |
Definition at line 47 of file facFqFactorizeUtil.cc.