Compare commits

...

2 Commits

Author SHA1 Message Date
Nelynx
04028fb3df add Matthias notes 2025-03-07 09:54:38 +01:00
Nelynx
dd2cbef15e changes to work modulo an ideal 2025-02-28 16:35:12 +01:00
5 changed files with 415 additions and 178 deletions

View File

@ -45,184 +45,398 @@ LIB"AeCodPruebas.lib";
ring r = 0,(x,y),ds;
ideal f = x,y2,y3+x2y;
TargetIdeal(f, std(ideal(x,y)));
ring r = 0,(x,y),ds;
ideal f = x,y2,y3+x2y;
LIB"AeCodPruebas.lib";
ring r = 0,(x),ds;
ideal f = x2+x4,x3;
TargetIdeal(f, std(ideal(x,y)));
LIB"AeCodPruebas.lib";
TargetIdeal(f, std(ideal(x,y)));
LIB"AeCodPruebas.lib";
TargetIdeal(f, std(ideal(x,y)));
LIB"AeCodPruebas.lib";
TargetIdeal(f, std(ideal(x,y)));
LIB"AeCodPruebas.lib";
TargetIdeal(f, std(ideal(x,y)));
TargetIdeal(f, std(maxideal(3)));
TargetIdeal(f, std(maxideal(5)));
LIB"AeCodPruebas.lib";
basering;
AeNormal(f);
AeNormal(f,maxideal(5));
LIB"AeCodPruebas.lib";
AeNormal(f);
;
LIB"AeCodPruebas.lib";
AeNormal(f);
LIB"AeCodPruebas.lib";
AeNormal(f);
;
LIB"AeCodPruebas.lib";
AeNormal(f);
ideal f = x+x4,y2,y3+x2y;
LIB"AeCodPruebas.lib";
ideal f = x+x4,y2,y3+x2y;
AeNormal(f,maxideal(3));
AeNormal(f,maxideal(4));
AeNormal(f,maxideal(10));
AeNormal(f,maxideal(6));
def Q = MalgrRing(ideal(0),1,f);
GF;
AeNormal(f);
LIB"AeCodPruebas.lib";
AeNormal(f);
AeNormal(f,maxideal(1));
AeNormal(f,maxideal(2));
AeNormal(f,maxideal(3));
AeNormal(f,maxideal(4));
AeNormal(f,maxideal(7));
AeNormal(f,maxideal(4));
AeNormal(f,maxideal(5));
f;
def Q = MalgrRing(ideal(0),2,f);
setring Q;
GF;
Gens;
setring r;
TargetIdeal(f,std(maxideal(10)));
int k = 5;
matrix jf[2][1] = jacob(f);
print(jf);
ideal w = x+x4,y2;
kbase(std(w));
setring Q;
def f = imap(r,f);
def jf = imap(r,jf);
ideal J = x10;
setring r;
def Q = MalgrRing(ideal(0),1,f);
setring Q;
def f = imap(r,f);
setring r;
quit;
quit;
quit;
c
?
n;
n
n
n
p f
?
b
n
n
n
n
p s
n
p k
n
n
n
n
p f
n
p f
n
n
p f
n
n
p wf
n
p h
n
p m
n
n
n
n
n
n
n
n
n
p wf
n
n
n
p wf;
p s
n
n
n
p jf
p wf
p jf
n
n
n
n
n
n
n
n
p NAef
p mk
n
n
n
p mk
p jf
p wf
p GOX
p G0X
p GOX
n
p GOX
p GOY
p print(GOY)
?
p GOY
n
n
n
n
n
nn
n
n
n
n
n
n
n
n
p T
n
n
n
n
n
n
n
n
n
n
n
n
n
n
n
p T
p VAX
p R1
?
p basering
p Raux
n
n
n
n
n
n
p T
n
n
ring r = 0,(x),ds;
ideal f = x2+x4,x3;
def Q = MalgrRing(ideal(0),1,f);
GF;
basering;
GF;
reduce(x2, GF);
MalgrFormPoly(x2);
MalgrFormPoly(x2, maxideal(4));
MalgrFormPoly(x2, maxideal(2));
MalgrFormPoly(x2, maxideal(5));
MalgrFormPoly(x2, maxideal(6));
GF;
reduce(x2,GF);
x2;
X(3) - f[3];
X(3) - mappingf[3];
MalgrFormPoly(x2, maxideal(6));
LIB"AeCodPruebas.lib";
def Q = MalgrRing(ideal(0),1,f);
ring r = 0,(x,y),(dp,c);
ring r = 0,(x,y),dp;
ring R0 = changeord(list(list("(dp,c)",nvars(basering))));
ring R0 = changeord(list(list("dp,c",nvars(basering))));
ring R0 = changeord(list("(dp,c)",nvars(basering)));
n
n
p T
n
p T
n
p T
n
p T
ring r = 0,(x),ds;
LIB"ring.lib";
changeordTo(r,"(dp,c)");
changeordTo(r,"dp");
changeordTo(r,r"dp");
ring r = 0,(x),(dp,c);
basering
MalgrFormPoly(x2, maxideal(6));
LIB"AeCodPruebas.lib";
MalgrFormPoly(x2, maxideal(6));
MalgrFormPoly(x2, ideal(x,y)^4);
LIB"AeCodPruebas.lib";
MalgrFormPoly(x2, ideal(x,y)^4);
print(_);
MalgrFormPoly(x3, ideal(x,y)^4);
MalgrFormPoly(x3, ideal(x,y)^6);
MalgrFormPoly(x3, ideal(x,y)^7);
;
GF;
LIB"AeCodPruebas.lib";
ring r = 0,(x,y),ds;
ideal f = x,y2,y7+x2y;
AeNormal(f);
ideal f = x,y2,y5+x2y;
AeNormal(f);
ring r = 0,(t,x,y),ds;
ideal f = t,x,y3+t2y,(x+y)^4+t3y;
AeNormal(f);
ideal f = t,x,y4+t3y,(x+y)^3+t3y;
AeNormal(f);
ideal f = t,x,y5+t4y,(x+y)^4+t3y;
ideal f = t,x,y4+t3y,(x+y)^3+t2y;
AeNormal(f);
ideal f = t,x,y4+t3y,(x+y)^3+t2y;
AeNormal(f);
ideal f = t,x,y5+t4y,(x+y)^4+t3y;
AeNormal(f);
ideal f = t,x,y4+t3y,(x+y)^5+t4y;
AeNormal(f);
quit;
ring r = 0,(x,y),ds;
ideal f = x,y2,y3+x2y;
AeNormal(f);
LIB"AeCodPruebas.lib";
AeNormal(f);
LIB"AeCodPruebas.lib";
AeNormal(f);
ideal f = x+x4,y2,y3+x2y;
AeNormal(f);
AeNormal(f,maxideal(4));
ideal f = x+x4,y2,y3+x2y;
LIB"AeCodPruebas.lib";
AeNormal(f,maxideal(4));
LIB"AeCodPruebas.lib";
AeNormal(f,maxideal(4));
LIB"AeCodPruebas.lib";
AeNormal(f,maxideal(4));
LIB"AeCodPruebas.lib";
AeNormal(f,maxideal(4));
LIB"AeCodPruebas.lib";
LIB"AeCodPruebas.lib";
AeNormal(f,maxideal(4));
f;
LIB"AeCodPruebas.lib";
AeNormal(f,maxideal(4));
LIB"AeCodPruebas.lib";
AeNormal(f,maxideal(4));
LIB"AeCodPruebas.lib";
AeNormal(f,maxideal(4));
f;
LIB"AeCodPruebas.lib";
AeNormal(f,maxideal(4));
AeNormal(f,maxideal(6));
AeNormal(f,maxideal(10));
AeNormal(f,maxideal(20));
LIB"AeCodPruebas.lib";
AeNormal(f,maxideal(10));
LIB"AeCodPruebas.lib";
AeNormal(f,maxideal(10));
LIB"AeCodPruebas.lib";
AeNormal(f,maxideal(10));
dimX
;
LIB"AeCodPruebas.lib";
AeNormal(f,maxideal(10));
AeNormal(f,maxideal(10));
LIB"AeCodPruebas.lib";
AeNormal(f,maxideal(10));
LIB"AeCodPruebas.lib";
AeNormal(f,maxideal(10));
AeNormal(f,maxideal(20));
LIB"AeCodPruebas.lib";
AeNormal(f,maxideal(20));
f;
ideal g = x,xy+y^6+y^9;
AeNormal(g,maxideal(20));
AeNormal(g,maxideal(10));
AeNormal(g,maxideal(12));
AeNormal(f,maxideal(12));
AeNormal(f);
AeNormal(g);
AeNormal(g,maxideal(12));
AeNormal(g,maxideal(20));
AeNormal(g);
AeNormal(g,maxideal(50));
ring r = 0,(x,y),ds;
ring R = 0,(X,Y),ds;
setring r;
map Rr = R,x2,y3;
ideal J = maxideal(20);
setring R;
preimage(r,Rr,J);
setring r;
ideal J = maxideal(50);
setring R;
ideal J = maxideal(50);
preimage(r,Rr,J);
setring r;
ideal J = maxideal(100);
setring R;
preimage(r,Rr,J);
setring r;
map f = R,x2+y3,y5+x7;
J = maxideal(20);
setring R;
preimage(r,f,J);
LIB"AeCodPruebas.lib";
ring r = 0,(t,x,y),ds;
ideal f = t,x,y3+t2y,(x+y)^4+t3y;
AeNormal(f);
ideal f = t,x,y3+t2y,(x+y)^4+t3y;
f[4];
LIB"AeCodPruebas.lib";
ring r = 0,(t,x,y),ds;
ideal f = t,x,y3+t2y,y4+(t3+x3)*y;
AeNormal(f);
ideal f = t,x,y3+t2y,(x+y)^4+t3y;
f[4];
f[4] = f[4] -x4;
f;
AeNormal(f);
f[4]
;
f[4] = y3+(t3+x3)*y+xy3;
AeNormal(f);
f[4] = y3+(t3+x3)*y+xy3+x2y2;
AeNormal(f);
f[4] = y3+(t3+4x3)*y+4xy3+6x2y2;
AeNormal(f);
f;
f[4] = y4+(t3+4x3)*y+4xy3+6x2y2;
AeNormal(f);
f[4] = y4+(t3+x3)*y+xy3+x2y2;
AeNormal(f);
f[4] = y4+t3y+x3y+xy3+x2y2;
AeNormal(f);
f[4] = y4+t3y+xy3+x2y2;
AeNormal(f);f
;
f[4] = y4+t3y+xy3+x2y2+x3y;
AeNormal(f);f
;
AeNormal(f);
f[4] = y4+t3y+xy3+x2y2+x3y;
AeNormal(f);
f[4] = y4+t3y+xy3+x3y;
AeNormal(f);
f[4] = y4+t3y+xy3+x2y2+x3y;
AeNormal(f);
f[4] = y4+xy3+x2y2+x3y;
AeNormal(f);
f;
AeNormal(f);
f;
f[4] = y4+x3y;
AeNormal(f);
f[4] = y4+x3y+xy3;
AeNormal(f);
f[4] = y4+x2y2+xy3;
AeNormal(f);
f[4] = y4+x3y+x2y2;
AeNormal(f);f
f;
f = t,x,y4+t3y,y5+xy3+x2y3+x3y2+xy4;
size(AeNormal(f));
f = t,x,y4+t3y,y5+xy3+x2y3+x3y2+xy4+t4y;
size(AeNormal(f));
f = t,x,y4+t3y,(x+y)^5;
size(AeNormal(f));
f = t,x,y4+t3y,(x+y)^5+t4y;
size(AeNormal(f));
f[4];
f[4]=x5+t4y+x4y+x3y2+x2y3+xy4+y5;
size(AeNormal(f));
f[4]=t4y+x4y+x3y2+x2y3+xy4+y5;
size(AeNormal(f));
f[4]=t4y+x3y2+x2y3+xy4+y5;
size(AeNormal(f));
f[4]=t4y+x4y+x3y2+x2y3+xy4+y5;
size(AeNormal(f));
f[4]=t4y+x4y+x3y2+x2y3+y5;
size(AeNormal(f));
f[4]=x4y+x3y2+x2y3+y5;
size(AeNormal(f));
f = t,x,y4+t3y,(x+y)^3,t2y;
size(AeNormal(f));
f = t,x,y4+t3y,(x+y)^3+t2y;
size(AeNormal(f));
f[4];
f[4] = t2y+x2t+xy2+y3;
size(AeNormal(f));
f[4] = t2y+x2y+xy2+y3;
size(AeNormal(f));
f[4] = t2y+3x2y+3xy2+y3;
size(AeNormal(f));
f[4] =3x2y+3xy2+y3;
size(AeNormal(f));
f[4] = t3y + 3x2y+3xy2+y3;
size(AeNormal(f));
f[4] = t5y + 3x2y+3xy2+y3;
size(AeNormal(f));
f[4] = t10y + 3x2y+3xy2+y3;
size(AeNormal(f));
f[4] = 3y + 3x2y+3xy2+y3;
size(AeNormal(f));
f;
size(AeNormal(f));
f[4] = + 3x2y+3xy2+y3;
size(AeNormal(f));
f[4] = y;
size(AeNormal(f));
size(AeNormal(f));
f = t,x,y3+t2y,(x+y)^4;
AeNormal(f);
f = t,x,y3+t2y,(x+y)^4+t3y;
AeNormal(f);
f[4];
f[4] = x4+t3y+4x3y+6x2y2+4xy3+y4
;
AeNormal(f);
size(AeNormal(f));
f[4] = x4+t3y+4x3y+6x2y2+4xy3+y4;
size(AeNormal(f));
f[4] = t3y+4x3y+6x2y2+4xy3+y4;
size(AeNormal(f));
f[4] = t3y+x3y+x2y2+xy3+y4;
size(AeNormal(f));
f[4] = x3y+x2y2+xy3+y4;
size(AeNormal(f));
f[4] = t3y+4x3y+6x2y2+4xy3+y4;
size(AeNormal(f));
f[4] = 4x3y+6x2y2+4xy3+y4;
size(AeNormal(f));
f[4] = x3y+x2y2+xy3+y4;
size(AeNormal(f));
f[4] = x2y2+xy3+y4;
size(AeNormal(f));
f[4] = x3y+x2y2+y4;
size(AeNormal(f));
f[3] = y4+t3y;
size(AeNormal(f));
f[4] = (x+y)^5+t4y;
size(AeNormal(f));
f[4];
f[4] = x4y+x3y2+x2y3+y5;
size(AeNormal(f));
f[4]^2;
f[4] = x4y+x3y2+x2y3+y5;
size(AeNormal(f));
f[4] = x4y+x3y2+y5;
size(AeNormal(f));
f[4] = x4y+2x3y2+y5;
size(AeNormal(f));
f[4] = x4y+3x3y2+y5;
size(AeNormal(f));
f[4] = 5x4y+3x3y2+y5;
size(AeNormal(f));
f;
f = t,x,(x+y)^4+t2y,y3+t2y;
AeNormal(f);
f:
;
f = t,x,(x+y)^4+t3y,y3+t2y;
AeNormal(f);
f = t,x,(x+y)^4+t2y,y3+t2y;
AeNormal(f);
f = t,x,(x+y)^5+t2y,y3+t2y;
AeNormal(f);
f = t,x,(x+y)^5+t2y,y4+t2y;
AeNormal(f);
f;
f = t,x,(x+y)^4+t3y,y3+t2y;
AeNormal(f);
f = t,x,(x+y)^4+t3y,y3;
AeNormal(f);
f = t,x,(x+y)^4+t3y,y3+t2y;
f = t,x,(x+y)^4+t3y,y3+t2y;
AeNormal(f);
f[3];
f = t,x,(x+y)^4+t3y,y3+t2y;
f[3];
f[3] = x4+x3y+x2y2+xy3+y4;
AeNormal(f);
f;
LIB"AeCodPruebas.lib";
ring r = 0,(t,x,y),ds;
map f = t,x,y3+t2y,y4+x3y;
ideal f = t,x,y3+t2y,y4+x3y;
size(AeNormal(f));
ideal f = t,x,y5+t4y,y6+x5y;
size(AeNormal(f));
ideal f = t,x,y5+t4y,y6+(x5+t4)*y;
size(AeNormal(f));
ideal f = t,x,y3+t2y,y4+xy3+x2y2+x3y;
size(AeNormal(f));
ideal f = t,x,y3+t2y,xy3+x2y2+x3y;
size(AeNormal(f));
ideal f = t,x,y3+t2y,y4+xy3+x2y2+x3y;
size(AeNormal(f));
ideal f = t,x,y3+t2y,y4+xy3+x3y;
size(AeNormal(f));
ideal f = t,x,y3+t2y,y4+xy3-x3y;
size(AeNormal(f));
ideal f = t,x,y3+t2y,y4+xy3+x2y2+x3y;
ideal f = t,x,y3+t2y,y4+x2y2+x3y;
ideal f = t,x,y3+t2y,y4+xy3+x2y2+x3y;
ideal f = t,x,y3+t2y,y4+x2y2+x3y;
size(AeNormal(f));
ideal f = t,x,y4+t2y,y5+x2y2+x3y;
size(AeNormal(f));
ideal f = t,x,y4+t3y,y5+x4y+x3y2;
size(AeNormal(f));
ideal f = t,x,y4+t3y,y5+x4y+x3y2+x2y3;
size(AeNormal(f));
quit;

View File

View File

@ -123,12 +123,15 @@ proc AeNormal(ideal f, list #)
int n = nvars(basering);
int p = ncols(f);
int s = size(#);
/*
if (s > 0)
{
int k = TargetIdeal(f,std(#[1]));
}
*/
def Raux = MalgrRing(ideal(0),n,ideal(f[1..n]));
@ -141,11 +144,12 @@ proc AeNormal(ideal f, list #)
execute("def f = imap("+RName+",f)");
execute("def jf = imap("+RName+",jf)");
if (s > 0)
{
execute("def # = imap("+RName+",#)");
}
module wf = freemodule(p);
int m = ncols(Gens);
@ -161,10 +165,12 @@ proc AeNormal(ideal f, list #)
}
}
/*
if (s>0)
{
wf = wf + freemodule(p)*(f^k);
}
*/
/*
if (size(#)>0)
@ -247,9 +253,11 @@ proc TargetIdeal(ideal f, ideal J)
int done = 0;
int k = 1;
ideal auxf = 1;
J = std(J);
while (done == 0)
{
auxf = auxf*f;
@ -287,14 +295,19 @@ proc GenerateOYModule(matrix GOX, matrix GOY, list #)
int i;
int j;
int s = size(#);
int k = 0;
if (s > 0)
{
k = TargetIdeal(mappingf, #[1]);
}
int m = ncols(Gens);
int ny = ncols(GOY);
int nx = ncols(GOX);
int a = nrows(GOY);
module M = 0; // This will be module with the same generators but over O_n
matrix col[a][1] = 0; // Auxiliar variable to store the particular vector to be transformed at each step
@ -327,6 +340,11 @@ proc GenerateOYModule(matrix GOX, matrix GOY, list #)
}
}
if (s > 0)
{
M = M + (X(1..dimX)^k)*freemodule(m*a);
}
return(M);
}
@ -403,9 +421,12 @@ proc MalgrRing(ideal J, int n, ideal f)
ideal mappingf = f;
export(mappingf);
int dimX = n;
export(dimX);
int dimX = n;
option(noredefine);
export(dimX);
option(redefine);
return(R2);
}

View File

@ -65,4 +65,6 @@ If $f(x)=x + x^3$, there is no solution for (3) with polynomial unit.
- In all rings generated: change ordering to (dp/ds,c/C)
- Change the use of the maximal ideal so that it works modulo a power in the target already.
- Change the use of the maximal ideal so that it works modulo a power in the target already.
- Do a baby example of why the implementation of the modulo power in the target is not working (try crosscap or Hiroshi example).

BIN
main.pdf Normal file

Binary file not shown.