Implements gb_node.
Definition at line 684 of file res-a2-gb.cpp.
685{
689
691 {
692
695 }
696
697
698
699
700
701 buffer o1;
702
704 {
706 {
707 RingElement *hsyz;
708 const PolynomialRing *DR =
originalR->get_degree_ring();
711 {
712 hsyz =
syz->hilbertNumerator();
714
715 h = (*h) + (*hsyz);
716 }
719 h = (*h) + (*hf1);
722 h = (*h) - (*hF);
723
724#if 0
725
726
727
728
729
730
731#endif
733 {
734 buffer o;
735 o <<
"<WARNING: remaining nsyz+ngb = " <<
n_gb_syz <<
">";
737 }
738
741 }
742
743
745
750 {
751 buffer o;
752
753 o <<
'[' <<
level <<
',' << npairs;
755 o << ']';
757 }
758 }
759
761 {
763
764 for (;;)
765 {
768 {
770 break;
771 }
772
774 {
777 }
778 }
779 }
780
782 {
783
784
785 ret =
gens->calc_gb(deg);
787 {
788
790 }
791 }
792
793
794
795
796
797
798 return ret;
799}
static RingElement * make_raw(const Ring *R, ring_elem f)
enum ComputationStatusCode calc_gens(int deg)
void find_pairs(gb_elem *p)
const PolynomialRing * originalR
virtual RingElement * hilbertNumerator()
static int coeff_of(const RingElement *h, int deg)
static RingElement * hilbertNumerator(const Matrix *M)
void gb(IntermediateBasis &F, int n)
bool system_interrupted()
References calc_gens(), hilb_comp::coeff_of(), COMP_COMPUTING, COMP_DONE, COMP_ERROR, COMP_INTERRUPTED, emit(), end_degree(), error(), F, find_pairs(), gb(), gens, get_pairs(), hilbertNumerator(), hilb_comp::hilbertNumerator(), level, M2_gbTrace, RingElement::make_raw(), n_gb, n_gb_first, n_gb_syz, orig_syz, originalR, s_pair_step(), state, STATE_DONE, STATE_GB, STATE_GENS, STATE_NEW_DEGREE, buffer::str(), system_interrupted(), syz, this_degree, use_hilb, and Ring::zero().
Referenced by calc_gens().