55# if defined(__cplusplus)
73# if defined(__cplusplus)
161 M2_ArrayString names,
218 M2_ArrayString new_names);
220 engine_RawRingElementArray eqns);
227 M2_ArrayString new_names);
229 engine_RawRingElementArray eqns);
286 M2_bool find_random_if_no_conway_poly_available);
288# if defined(__cplusplus)
Abstract base for long-running, resumable engine computations (GBComputation, ResolutionComputation,...
Engine-side commutative monomial monoid: variable names, ordering, multidegree machinery,...
Front-end-visible "ring element" value: an engine ring_elem paired with the Ring* that gives it meani...
Engine-wide include prelude — a single point of truth for portability shims.
M2_arrayint M2_arrayintOrNull
const Ring * IM2_Ring_QQ(void)
const Ring * rawGaloisField(const RingElement *f)
const Ring * rawDenominatorRing(const Ring *R)
const Ring * rawSchurRing2(const Ring *A, int n)
const Ring * IM2_Ring_polyring(const Ring *K, const Monoid *M)
const Ring * IM2_Ring_ZZ(void)
const Ring * rawRingM2FreeAlgebra(const Ring *coefficientRing, M2_ArrayString names, const Ring *degreeRing, M2_arrayint degrees, M2_arrayint wtvecs, M2_arrayint heftVector)
const Ring * rawSchurSnRing(const Ring *A, int n)
const Ring * IM2_Ring_weyl_algebra(const Ring *R, M2_arrayint comm_vars, M2_arrayint diff_vars, int homog_var)
const Ring * rawRingM2FreeAlgebraQuotient(const Matrix *GB, int maxdeg)
const Ring * rawARingTower1(const Ring *R1, M2_ArrayString names)
const Ring * IM2_Ring_RRi(unsigned long prec)
const Ring * IM2_Ring_CCC(unsigned long prec)
const Ring * IM2_Ring_RRR(unsigned long prec)
const Ring * rawTowerRing3(const Ring *R1, engine_RawRingElementArray eqns)
const Ring * rawSchurRing1(const Ring *A)
const Ring * rawARingTower3(const Ring *R1, engine_RawRingElementArray eqns)
const Ring * IM2_Ring_ZZp(int p)
const RingElement * rawGetNonUnit(const Ring *K)
const Ring * IM2_Ring_solvable_algebra(const Ring *R, const Matrix *Q)
unsigned int rawRingHash(const Ring *R)
const Ring * rawAmbientRing(const Ring *R)
M2_arrayintOrNull rawConwayPolynomial(long charac, long deg, M2_bool find_random_if_no_conway_poly_available)
const Ring * IM2_Ring_localization(const Ring *R, Computation *P)
M2_bool IM2_Ring_declare_field(const Ring *K)
const Ring * IM2_Ring_skew_polyring(const Ring *R, M2_arrayint skewvars)
long rawRingCharacteristic(const Ring *R)
M2_bool IM2_Ring_is_field(const Ring *K)
const Ring * IM2_Ring_quotient1(const Ring *R, const Ring *B)
const Ring * IM2_Ring_trivial_polyring()
const Ring * rawTowerRing1(long charac, M2_ArrayString names)
const Ring * IM2_Ring_quotient(const Ring *R, const Matrix *I)
const Ring * rawARingTower2(const Ring *R1, M2_ArrayString new_names)
const Ring * IM2_Ring_CCi(unsigned long prec)
const Ring * IM2_Ring_frac(const Ring *R)
const Ring * rawTowerRing2(const Ring *R1, M2_ArrayString new_names)
const Ring * IM2_Ring_schur(const Ring *R)
M2_string IM2_Ring_to_string(const Ring *M)
const PolynomialRing * degreeRing(const std::vector< std::string > &names)