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; ring r = 0,(x,y),ds;
ideal f = x,y2,y3+x2y; ideal f = x,y2,y3+x2y;
TargetIdeal(f, std(ideal(x,y))); TargetIdeal(f, std(ideal(x,y)));
ring r = 0,(x,y),ds;
ideal f = x,y2,y3+x2y;
LIB"AeCodPruebas.lib"; LIB"AeCodPruebas.lib";
ring r = 0,(x),ds; TargetIdeal(f, std(ideal(x,y)));
ideal f = x2+x4,x3; 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);
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(4));
AeNormal(f,maxideal(10)); AeNormal(f);
AeNormal(f,maxideal(6)); LIB"AeCodPruebas.lib";
def Q = MalgrRing(ideal(0),1,f); AeNormal(f);
GF; 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; setring Q;
GF; GF;
Gens; Gens;
setring r; setring r;
TargetIdeal(f,std(maxideal(10))); ideal w = x+x4,y2;
int k = 5; kbase(std(w));
matrix jf[2][1] = jacob(f);
print(jf);
setring Q; setring Q;
def f = imap(r,f); GF;
def jf = imap(r,jf); basering;
ideal J = x10; GF;
setring r; reduce(x2, GF);
def Q = MalgrRing(ideal(0),1,f); MalgrFormPoly(x2);
setring Q; MalgrFormPoly(x2, maxideal(4));
def f = imap(r,f); MalgrFormPoly(x2, maxideal(2));
setring r; MalgrFormPoly(x2, maxideal(5));
quit; MalgrFormPoly(x2, maxideal(6));
quit; GF;
quit; reduce(x2,GF);
c x2;
? X(3) - f[3];
n; X(3) - mappingf[3];
n MalgrFormPoly(x2, maxideal(6));
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);
LIB"AeCodPruebas.lib"; LIB"AeCodPruebas.lib";
def Q = MalgrRing(ideal(0),1,f); MalgrFormPoly(x2, maxideal(6));
ring r = 0,(x,y),(dp,c); LIB"AeCodPruebas.lib";
ring r = 0,(x,y),dp; MalgrFormPoly(x2, maxideal(6));
ring R0 = changeord(list(list("(dp,c)",nvars(basering)))); MalgrFormPoly(x2, ideal(x,y)^4);
ring R0 = changeord(list(list("dp,c",nvars(basering)))); LIB"AeCodPruebas.lib";
ring R0 = changeord(list("(dp,c)",nvars(basering))); MalgrFormPoly(x2, ideal(x,y)^4);
n print(_);
n MalgrFormPoly(x3, ideal(x,y)^4);
p T MalgrFormPoly(x3, ideal(x,y)^6);
n MalgrFormPoly(x3, ideal(x,y)^7);
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
; ;
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 n = nvars(basering);
int p = ncols(f); int p = ncols(f);
int s = size(#); int s = size(#);
/*
if (s > 0) if (s > 0)
{ {
int k = TargetIdeal(f,std(#[1])); int k = TargetIdeal(f,std(#[1]));
} }
*/
def Raux = MalgrRing(ideal(0),n,ideal(f[1..n])); def Raux = MalgrRing(ideal(0),n,ideal(f[1..n]));
@ -141,6 +144,7 @@ proc AeNormal(ideal f, list #)
execute("def f = imap("+RName+",f)"); execute("def f = imap("+RName+",f)");
execute("def jf = imap("+RName+",jf)"); execute("def jf = imap("+RName+",jf)");
if (s > 0) if (s > 0)
{ {
execute("def # = imap("+RName+",#)"); execute("def # = imap("+RName+",#)");
@ -161,10 +165,12 @@ proc AeNormal(ideal f, list #)
} }
} }
/*
if (s>0) if (s>0)
{ {
wf = wf + freemodule(p)*(f^k); wf = wf + freemodule(p)*(f^k);
} }
*/
/* /*
if (size(#)>0) if (size(#)>0)
@ -250,6 +256,8 @@ proc TargetIdeal(ideal f, ideal J)
ideal auxf = 1; ideal auxf = 1;
J = std(J);
while (done == 0) while (done == 0)
{ {
auxf = auxf*f; auxf = auxf*f;
@ -287,14 +295,19 @@ proc GenerateOYModule(matrix GOX, matrix GOY, list #)
int i; int i;
int j; int j;
int s = size(#);
int k = 0;
if (s > 0)
{
k = TargetIdeal(mappingf, #[1]);
}
int m = ncols(Gens); int m = ncols(Gens);
int ny = ncols(GOY); int ny = ncols(GOY);
int nx = ncols(GOX); int nx = ncols(GOX);
int a = nrows(GOY); int a = nrows(GOY);
module M = 0; // This will be module with the same generators but over O_n 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 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); return(M);
} }
@ -403,8 +421,11 @@ proc MalgrRing(ideal J, int n, ideal f)
ideal mappingf = f; ideal mappingf = f;
export(mappingf); export(mappingf);
int dimX = n; int dimX = n;
option(noredefine);
export(dimX); export(dimX);
option(redefine);
return(R2); return(R2);
} }

View File

@ -66,3 +66,5 @@ 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) - 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.