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

Function extLiftAndComputeLattice

factory/facFqBivar.cc:2751–2944  ·  view source on GitHub ↗

over field extension

Source from the content-addressed store, hash-verified

2749#ifdef HAVE_NTL
2750//over field extension
2751int
2752extLiftAndComputeLattice (const CanonicalForm& F, int* bounds, int sizeBounds,
2753 int liftBound, int minBound, int start, CFList&
2754 factors, mat_zz_p& NTLN, CFList& diophant,
2755 CFMatrix& M, CFArray& Pi, CFArray& bufQ, bool&
2756 irreducible, const CanonicalForm& evaluation, const
2757 ExtensionInfo& info, CFList& source, CFList& dest
2758 )
2759{
2760 bool GF= (CFFactory::gettype()==GaloisFieldDomain);
2761 CanonicalForm LCF= LC (F, 1);
2762 CFArray *A= new CFArray [factors.length() - 1];
2763 bool wasInBounds= false;
2764 bool hitBound= false;
2765 int degMipo;
2766 Variable alpha;
2767 alpha= info.getAlpha();
2768 degMipo= degree (getMipo (alpha));
2769
2770 Variable gamma= info.getBeta();
2771 CanonicalForm primElemAlpha= info.getGamma();
2772 CanonicalForm imPrimElemAlpha= info.getDelta();
2773
2774 int stepSize= 2;
2775 int l= ((minBound+1)/degMipo+1)*2;
2776 l= tmax (l, 2);
2777 if (start > l)
2778 l= start;
2779 int oldL= l/2;
2780 bool reduced= false;
2781 Variable y= F.mvar();
2782 Variable x= Variable (1);
2783 CanonicalForm powX, imBasis, truncF;
2784 CFMatrix Mat, C;
2785 CFArray buf;
2786 CFIterator iter;
2787 mat_zz_p* NTLMat, *NTLC, NTLK;
2788 CFListIterator j;
2789 while (l <= liftBound)
2790 {
2791 TIMING_START (fac_fq_compute_lattice_lift);
2792 if (start)
2793 {
2794 henselLiftResume12 (F, factors, start, l, Pi, diophant, M);
2795 start= 0;
2796 }
2797 else
2798 {
2799 if (wasInBounds)
2800 henselLiftResume12 (F, factors, oldL, l, Pi, diophant, M);
2801 else
2802 henselLift12 (F, factors, l, Pi, diophant, M);
2803 }
2804 TIMING_END_AND_PRINT (fac_fq_compute_lattice_lift,
2805 "time to lift in compute lattice: ");
2806
2807 factors.insert (LCF);
2808

Callers 1

facFqBivar.ccFile · 0.85

Calls 15

LCFunction · 0.85
degreeFunction · 0.85
getMipoFunction · 0.85
tmaxFunction · 0.85
VariableFunction · 0.85
henselLiftResume12Function · 0.85
henselLift12Function · 0.85
setCharacteristicFunction · 0.85
getCharacteristicFunction · 0.85
powerFunction · 0.85
logarithmicDerivativeFunction · 0.85

Tested by

no test coverage detected