Functions
lift.cc File Reference
#include <witness.h>

Go to the source code of this file.

Functions

ideal lift (const ideal J, const ring r, const ideal inI, const ring s)
 

Function Documentation

ideal lift ( const ideal  J,
const ring  r,
const ideal  inI,
const ring  s 
)

Definition at line 24 of file lift.cc.

25 {
26  nMapFunc identity = n_SetMap(s->cf,r->cf);
27  int k = idSize(inI); ideal inIr = idInit(k);
28  for (int i=0; i<k; i++)
29  inIr->m[i] = p_PermPoly(inI->m[i],NULL,s,r,identity,NULL,0);
30  ideal Ir = witness(inIr,J,r);
31 
32  identity = n_SetMap(r->cf,s->cf);
33  ideal Is = idInit(k);
34  for (int i=0; i<k; i++)
35  Is->m[i] = p_PermPoly(Ir->m[i],NULL,r,s,identity,NULL,0);
36 
37  id_Delete(&inIr,r);
38  id_Delete(&Ir,r);
39  return Is;
40 }
const CanonicalForm int s
Definition: facAbsFact.cc:55
void id_Delete(ideal *h, ring r)
deletes an ideal/module/matrix
int k
Definition: cfEzgcd.cc:93
const ring r
Definition: syzextra.cc:208
number(* nMapFunc)(number a, const coeffs src, const coeffs dst)
maps "a", which lives in src, into dst
Definition: coeffs.h:72
int i
Definition: cfEzgcd.cc:123
static FORCE_INLINE nMapFunc n_SetMap(const coeffs src, const coeffs dst)
set the mapping function pointers for translating numbers from src to dst
Definition: coeffs.h:720
ideal idInit(int idsize, int rank)
initialise an ideal / module
Definition: simpleideals.cc:38
poly p_PermPoly(poly p, const int *perm, const ring oldRing, const ring dst, nMapFunc nMap, const int *par_perm, int OldPar)
Definition: p_polys.cc:3926
#define NULL
Definition: omList.c:10
poly witness(const poly m, const ideal I, const ideal inI, const ring r)
Let w be the uppermost weight vector in the matrix defining the ordering on r.
Definition: witness.cc:34
static int idSize(const ideal id)
Count the effective size of an ideal (without the trailing allocated zero-elements) ...
Definition: ideals.h:43