44 #define TIMING_EPR(t,msg) TIMING_END_AND_PRINT(t,msg);TIMING_RESET(t); 56 WerrorS(
"Unknown chosen resultant matrix type!");
59 Werror(
"One element of the ideal %s is constant!",name);
62 Werror(
"Wrong number of elements in given ideal %s, should be %d resp. %d!",
66 Werror(
"The given ideal %s must be 0-dimensional!",name);
69 Werror(
"The given ideal %s has to be homogeneous in the first ring variable!",
73 Werror(
"The given ideal %s has to reduced!",name);
76 WerrorS(
"Ground field not implemented!");
95 if ( rmatrix ) numOfVars++;
100 if (
IDELEMS(theIdeal) != numOfVars )
103 for ( k=
IDELEMS(theIdeal) - 1; (state ==
mprOk) && (k >= 0); k-- )
105 poly
p = (theIdeal->m)[k];
119 if ( state !=
mprOk ) mprPrintError( state,
"" );
142 poly u_resultant_det( ideal gls,
int imtype )
146 poly emptypoly=
pInit();
173 WerrorS(
"Unsuitable input ideal: Minor of resultant matrix is singular!");
Base class for solving 0-dim poly systems using u-resultant.
TIMING_START(fac_alg_resultant)
Compatiblity layer for legacy polynomial operations (over currRing)
BOOLEAN p_IsHomogeneous(poly p, const ring r)
static BOOLEAN rField_is_R(const ring r)
resMatrixBase * accessResMat()
static BOOLEAN rField_is_Q_a(const ring r)
uResultant::resMatType determineMType(int imtype)
void WerrorS(const char *s)
#define nPrint(a)
only for debug, over any initalized currRing
#define pIsConstant(p)
like above, except that Comp must be 0
#define TIMING_EPR(t, msg)
void PrintS(const char *s)
static BOOLEAN rField_is_Q(const ring r)
char name(const Variable &v)
mprState mprIdealCheck(const ideal theIdeal, const char *name, uResultant::resMatType mtype, BOOLEAN rmatrix=false)
static BOOLEAN rField_is_long_C(const ring r)
TIMING_DEFINE_PRINT(mpr_overall) TIMING_DEFINE_PRINT(mpr_check) TIMING_DEFINE_PRINT(mpr_constr) TIMING_DEFINE_PRINT(mpr_ures) TIMING_DEFINE_PRINT(mpr_mures) TIMING_DEFINE_PRINT(mpr_arrange) TIMING_DEFINE_PRINT(mpr_solver) void mprPrintError(mprState state
static BOOLEAN rField_is_long_R(const ring r)
#define pInit()
allocates a new monomial and initializes everything to 0
poly interpolateDense(const number subDetVal=NULL)
ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
void Werror(const char *fmt,...)
virtual number getSubDet()