MCPcopy Create free account
hub / github.com/Singular/Singular / increasePrecision

Function increasePrecision

factory/facFqBivar.cc:3686–3823  ·  view source on GitHub ↗

mat_zz_pE

Source from the content-addressed store, hash-verified

3684
3685#ifdef HAVE_NTL // mat_zz_pE
3686CFList
3687increasePrecision (CanonicalForm& F, CFList& factors, int factorsFound,
3688 int oldNumCols, int oldL, const Variable&,
3689 int precision, const CanonicalForm& eval
3690 )
3691{
3692 int d;
3693 bool isIrreducible= false;
3694 Variable y= F.mvar();
3695 int* bounds= computeBounds (F, d, isIrreducible);
3696 if (isIrreducible)
3697 {
3698 delete [] bounds;
3699 CanonicalForm G= F;
3700 F= 1;
3701 return CFList (G (y-eval,y));
3702 }
3703 CFArray * A= new CFArray [factors.length()];
3704 CFArray bufQ= CFArray (factors.length());
3705 mat_zz_pE NTLN;
3706 ident (NTLN, factors.length());
3707 int minBound= bounds[0];
3708 for (int i= 1; i < d; i++)
3709 {
3710 if (bounds[i] != 0)
3711 minBound= tmin (minBound, bounds[i]);
3712 }
3713 int l= tmax (2*(minBound + 1), oldL);
3714 int oldL2= l/2;
3715 int stepSize= 2;
3716 bool useOldQs= false;
3717 bool hitBound= false;
3718 CFListIterator j;
3719 CFMatrix C;
3720 mat_zz_pE* NTLC, NTLK;
3721 CFArray buf;
3722 CanonicalForm truncF;
3723 while (l <= precision)
3724 {
3725 j= factors;
3726 truncF= mod (F, power (y,l));
3727 if (useOldQs)
3728 {
3729 for (int i= 0; i < factors.length(); i++, j++)
3730 A[i]= logarithmicDerivative (truncF, j.getItem(), l, oldL2, bufQ[i],
3731 bufQ[i]
3732 );
3733 }
3734 else
3735 {
3736 for (int i= 0; i < factors.length(); i++, j++)
3737 A[i]= logarithmicDerivative (truncF, j.getItem(), l, bufQ [i]);
3738 }
3739 useOldQs= true;
3740 for (int i= 0; i < d; i++)
3741 {
3742 if (bounds [i] + 1 <= l/2)
3743 {

Callers 2

facFqBivar.ccFile · 0.85
biFactorizeFunction · 0.85

Calls 15

computeBoundsFunction · 0.85
tminFunction · 0.85
tmaxFunction · 0.85
powerFunction · 0.85
logarithmicDerivativeFunction · 0.85
getCoeffsFunction · 0.85
writeInMatrixFunction · 0.85
isReducedFunction · 0.85
reconstructionTryFunction · 0.85
degreeFunction · 0.85
extractZeroOneVecsFunction · 0.85

Tested by

no test coverage detected