228{
229
230 poly
g =
p_One(startingRing);
231 p_SetCoeff(
g,uniformizingParameter,startingRing);
233 p_SetExp(
pNext(
g),1,1,startingRing);
234 p_SetCoeff(
pNext(
g),n_Init(-1,startingRing->cf),startingRing);
235 p_Setm(
pNext(
g),startingRing);
238
239
242 nMapFunc nMap = n_SetMap(originalRing->cf,startingRing->cf);
243 int n = rVar(originalRing);
244 int* shiftByOne = (
int*)
omAlloc((n+1)*
sizeof(
int));
245 for (
int i=1;
i<=n;
i++)
247 for (
int i=0;
i<
k;
i++)
248 {
249 if(originalIdeal->m[
i]!=
NULL)
250 {
251 J->m[
i] =
p_PermPoly(originalIdeal->m[
i],shiftByOne,originalRing,startingRing,nMap,
NULL,0);
252 }
253 }
255
258 ideal startingIdeal =
kNF(pt,startingRing->qideal,J);
260
262 startingIdeal->m[
k] = pt->m[0];
264
268 return startingIdeal;
269}
number(*) nMapFunc(number a, const coeffs src, const coeffs dst)
maps "a", which lives in src, into dst
poly kNF(ideal F, ideal Q, poly p, int syzComp, int lazyReduce)
#define omFreeSize(addr, size)
poly p_PermPoly(poly p, const int *perm, const ring oldRing, const ring dst, nMapFunc nMap, const int *par_perm, int OldPar, BOOLEAN use_mult)
void rChangeCurrRing(ring r)
VAR ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
ideal idInit(int idsize, int rank)
initialise an ideal / module
void id_Delete(ideal *h, ring r)
deletes an ideal/module/matrix
ideal gfanlib_kStd_wrapper(ideal I, ring r, tHomog h=testHomog)