forked from nbreva/AeCodimension
changes to DP test
This commit is contained in:
parent
6c7682073d
commit
46145a40ee
910
.singularhistory
910
.singularhistory
@ -1,910 +0,0 @@
|
||||
quit;
|
||||
quit;
|
||||
quit;
|
||||
quit;
|
||||
quit;
|
||||
ring r = 0,(X(1..30)),ds;
|
||||
ideal i = maxideal(50);
|
||||
qring Q = i;
|
||||
setring Q;
|
||||
reduce(x(1)^51);
|
||||
reduce(X(1)^51);
|
||||
reduce(X(1)^51,ideal(0));
|
||||
reduce(X(1)^51,std(ideal(0)));
|
||||
basering;
|
||||
Q = std(Q);
|
||||
nameof(basering);
|
||||
std(X(1)^51);
|
||||
setring r;
|
||||
qring q2 = std(maxideal(50));
|
||||
setring q2;
|
||||
reduce(X(1)^51,std(0));
|
||||
basering;
|
||||
quit;
|
||||
ring r = 0,(x(1..8)),ds;
|
||||
ideal i = maxideal(50);
|
||||
ring r = 0,(x(1..8)),ds;
|
||||
ideal i = maxideal(10);
|
||||
i;
|
||||
qring q = std(i);
|
||||
ring r = 0,(x(1..)),ds;
|
||||
ideal i = maxideal(5);
|
||||
ring r = 0,(x(1..3)),ds;
|
||||
ideal i = maxideal(20);
|
||||
ideal i = maxideal(40);
|
||||
qring q = std(i);
|
||||
basering;
|
||||
setring r;
|
||||
ring r = 0,(x(1..6)),ds;
|
||||
ideal i = maxideal(40);
|
||||
qring q = std(i);
|
||||
LIB"AeCodPruebas.lib";
|
||||
ring r = 0,(x,y),ds;
|
||||
ideal f = x,y2,y3+xy;
|
||||
AeNormal(f,maxideal(4));
|
||||
LIB"AeCodPruebas.lib";
|
||||
def Q = MalgrRing(ideal(0),2,
|
||||
ideal f = x,y2,y3+xy;
|
||||
def Q = MalgrRing(ideal(0),2,ideal(x,y2));
|
||||
setring Q;
|
||||
def f = imap(r,f);
|
||||
setring r;
|
||||
matrix jf = jacob(f);
|
||||
setring Q;
|
||||
def jf = imap(r,jf);
|
||||
print(jf);
|
||||
jf[1];
|
||||
MalgrFormVect(jf[1]);
|
||||
;
|
||||
print(jf);
|
||||
jf[1];
|
||||
MalgrFormVect(jf[1], maxOX^5);
|
||||
quit;
|
||||
quit;
|
||||
quit;
|
||||
quit;
|
||||
quit;
|
||||
quit;
|
||||
quit;
|
||||
quit;
|
||||
quit;
|
||||
setring r;
|
||||
f;
|
||||
AeNormal(f);
|
||||
AeNormal(f);
|
||||
quit;
|
||||
ring r;
|
||||
quit;
|
||||
;
|
||||
AeNormal(f,maxideal(5));
|
||||
AeNormal(f);
|
||||
quit;
|
||||
;
|
||||
quit;
|
||||
;
|
||||
quit;
|
||||
quit;
|
||||
;
|
||||
quit;
|
||||
quit;
|
||||
LIB"AeCodPruebas.lib";
|
||||
ring r = 0,(x,y),ds;
|
||||
ideal f = x,y2,x3y+xy3,y5;
|
||||
AeNormal(f);
|
||||
ring s = 0,(x,y,a,b),ds;
|
||||
ideal i = x-a,y-b;
|
||||
reduce(xy3+x3y-ab3-a3b,std(i));
|
||||
lift(i,xy3+x3y-ab3-a3b);
|
||||
ring r = 0,(x,y,a,b),ds;
|
||||
ideal f = x-a,y2-b2,x3y+xy3-a3b-ab3,y5-b5;
|
||||
qring q = std(f);
|
||||
basering;
|
||||
ideal i = x-a,y-b;
|
||||
std(i);
|
||||
kbase(i);
|
||||
kbase(std(i));
|
||||
dim(y-b);
|
||||
dim(std(i));
|
||||
vdim(std(i));
|
||||
i;
|
||||
i = std(i);
|
||||
i;
|
||||
ideal z = std(0);
|
||||
reduce(i,z);
|
||||
reduce(i*maxideal(1),z);
|
||||
reduce(i*maxideal(4),z);
|
||||
reduce(i*maxideal(10),z);
|
||||
reduce(i*maxideal(5),z);
|
||||
reduce(i*maxideal(6),z);
|
||||
reduce(i*maxideal(5),z);
|
||||
reduce(i*maxideal(1),z);
|
||||
reduce(i*maxideal(2),z);
|
||||
setring r;
|
||||
f;
|
||||
ring R = 0,(x,y,b),ds;
|
||||
ideal f = y+b,x*(y2+yb+b2)+x3,y4+y3b+y2b2+yb3+b4;
|
||||
kbase(std(f));
|
||||
quit
|
||||
;
|
||||
if(0){"a";}
|
||||
if(1){"a";}
|
||||
;
|
||||
quit;
|
||||
LIB"AeCodPruebas.lib";
|
||||
ring r = 0,(x,y),ds;
|
||||
AeNormal(ideal(x,y2,xy));
|
||||
AeNormal(ideal(x,y2,y3+x2y));
|
||||
AeNormal(ideal(x,y2,y3+x19y));
|
||||
AeNormal(ideal(x,y2,y3+x15y));
|
||||
AeNormal(ideal(x,y2,y3+x5y));
|
||||
module m;
|
||||
ncols(m);
|
||||
m[1]==0;
|
||||
m[1]!=0;
|
||||
module m = 0,0,0,0;
|
||||
print(m);
|
||||
m = 0*gen(1)+0*gen(2);
|
||||
m;
|
||||
m = 0,gen(2);
|
||||
m;
|
||||
m[1] == 0;
|
||||
print(m);
|
||||
m=0;
|
||||
size(m);
|
||||
quit;
|
||||
LIB"AeCodPruebas.lib";
|
||||
ring r = 0,(x,y),ds;
|
||||
ideal f = x,y2,y3+x2y;
|
||||
MaxPowerContained(f);
|
||||
LIB"AeCodPruebas.lib";
|
||||
MaxPowerContained(f);
|
||||
LIB"AeCodPruebas.lib";
|
||||
MaxPowerContained(f);
|
||||
LIB"AeCodPruebas.lib";
|
||||
MaxPowerContained(f);
|
||||
MaxPowerContained(f);
|
||||
LIB"AeCodPruebas.lib";
|
||||
MaxPowerContained(f);
|
||||
quit;
|
||||
LIB"AeCodPruebas.lib";
|
||||
LIB"AeCodPruebas.lib";
|
||||
quit;
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
nn
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
p GOX
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
p a
|
||||
p GOY
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
nn
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
p a
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
p col
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
p M
|
||||
n
|
||||
p M
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
p M
|
||||
n
|
||||
p M
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
p col
|
||||
n
|
||||
p col
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
p M
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
p M
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
p M
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
p M
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
p col
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
p M
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
p M
|
||||
p col
|
||||
p k
|
||||
c
|
||||
?
|
||||
c
|
||||
c
|
||||
c
|
||||
c
|
||||
c
|
||||
c
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
nn
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
nn
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
nn
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
p M
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
nn
|
||||
n
|
||||
n
|
||||
n
|
||||
p M
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
p col
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
p M
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
p col
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
p M
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
p M
|
||||
n col
|
||||
p col
|
||||
p mappingf
|
||||
p k
|
||||
p Raux
|
||||
quit;
|
||||
c
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
?
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
p col
|
||||
n
|
||||
p v
|
||||
n
|
||||
p v
|
||||
c
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
c
|
||||
p M
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
c
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
p M
|
||||
n
|
||||
c
|
||||
p M
|
||||
p Gens
|
||||
p M
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
c
|
||||
p m
|
||||
p M
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
c
|
||||
p M
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
p col
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
p v
|
||||
n
|
||||
c
|
||||
n
|
||||
p M
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
p col
|
||||
n
|
||||
n
|
||||
p v
|
||||
c
|
||||
p M
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
c
|
||||
c
|
||||
c
|
||||
c
|
||||
c
|
||||
c
|
||||
c
|
||||
c
|
||||
c
|
||||
c
|
||||
c
|
||||
c
|
||||
c
|
||||
c
|
||||
c
|
||||
c
|
||||
c
|
||||
c
|
||||
c
|
||||
c
|
||||
c
|
||||
c
|
||||
c
|
||||
c
|
||||
c
|
||||
c
|
||||
n
|
||||
p GOX
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
p col
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
p v
|
||||
n
|
||||
p #
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
p determinacyIdeal
|
||||
n GF
|
||||
p GF
|
||||
p K
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
p maxibound
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
p determinacyIdeal
|
||||
p maxibound
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
p maxibound
|
||||
p determinacyIdeal
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
p tkef
|
||||
n
|
||||
n
|
||||
p tkef
|
||||
n
|
||||
n
|
||||
p freemax
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
p freemax
|
||||
n
|
||||
n
|
||||
p auxtke
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
n
|
||||
p auxtke
|
||||
@ -188,7 +188,7 @@ proc AeNormal(ideal f, list #)
|
||||
|
||||
|
||||
|
||||
proc MaxPowerContained(ideal f)
|
||||
proc AeDeterminacyTestDP(ideal f)
|
||||
{
|
||||
/*
|
||||
f: Cn -> Cp is a map-germ with p >= n
|
||||
@ -203,7 +203,7 @@ proc MaxPowerContained(ideal f)
|
||||
module tkef = module(jf) + f*freemodule(p);
|
||||
tkef = std(tkef);
|
||||
int tkemax = 0;
|
||||
tkefmodk = tkef + maxideal(tkemax + 1)*freemodule(p);
|
||||
module tkefmodk = tkef + maxideal(tkemax + 1)*freemodule(p);
|
||||
tkefmodk = std(tkefmodk);
|
||||
module freemax = freemodule(p);
|
||||
module auxtke = reduce(freemax, tkefmodk);
|
||||
@ -213,9 +213,9 @@ proc MaxPowerContained(ideal f)
|
||||
tkemax++;
|
||||
freemax = maxideal(tkemax)*freemodule(p);
|
||||
tkefmodk = tkef + maxideal(tkemax + 1)*freemodule(p);
|
||||
auxtke = reduce(freemax, tkefmodk);
|
||||
auxtke = reduce(freemax, std(tkefmodk));
|
||||
}
|
||||
|
||||
// tkemax; //
|
||||
def Raux = MalgrRing(ideal(0),n,ideal(f[1..n]));
|
||||
|
||||
string RName=nameof(basering);
|
||||
@ -229,7 +229,9 @@ proc MaxPowerContained(ideal f)
|
||||
module wf = freemodule(p);
|
||||
int m = ncols(Gens);
|
||||
|
||||
//print("wf=");wf;//
|
||||
// Take into account that not all of these powers might be necessary
|
||||
// deppending on the power of the maximal that is contained.
|
||||
// print("wf=");wf;//
|
||||
if (p > n)
|
||||
{
|
||||
ideal h = ideal(f[(n+1)..p]);
|
||||
@ -241,8 +243,8 @@ proc MaxPowerContained(ideal f)
|
||||
}
|
||||
}
|
||||
|
||||
int maxi_contained = 0;
|
||||
int maxi_power_target = 0;
|
||||
int bool_maxi_contained = 0;
|
||||
int maxi_power = 0;
|
||||
module mktheta = freemodule(p);
|
||||
module mk1theta = (mappingf^tkemax)*freemodule(p);
|
||||
//module TAef = GenerateOYModule(jf, wf, #);
|
||||
@ -250,46 +252,47 @@ proc MaxPowerContained(ideal f)
|
||||
module Tmktheta;
|
||||
module Tmk1theta;
|
||||
module auxmod;
|
||||
module TAefmodmk1;
|
||||
|
||||
while (maxi_contained == 0)
|
||||
while (bool_maxi_contained == 0)
|
||||
{
|
||||
maxi_power_target = maxi_power_target + 1;
|
||||
maxi_power; //
|
||||
mktheta = freemodule(p)*(maxOX^maxi_power);
|
||||
mk1theta = freemodule(p)*(maxOX^(maxi_power+tkemax));
|
||||
|
||||
mktheta = mappingf*mktheta;
|
||||
mk1theta = mappingf*mk1theta;
|
||||
Tmktheta = GenerateOYModule(mktheta, 0, maxOX^(maxi_power+tkemax));
|
||||
|
||||
Tmktheta = GenerateOYModule(mktheta, 0, mappingf^(maxi_power_target+1));
|
||||
Tmk1theta = GenerateOYModule(mk1theta, 0, mappingf^(maxi_power_target+1));
|
||||
TAef = GenerateOYModule(jf, wf, mappingf^(maxi_power_target+1));
|
||||
//Tmk1theta = GenerateOYModule(mk1theta, 0, maxOX^(maxi_power+tkemax));
|
||||
|
||||
TAef = GenerateOYModule(jf, wf, maxOX^(maxi_power+tkemax));
|
||||
|
||||
//Tmk1theta;//
|
||||
|
||||
//TAefmodmk1 = std(Tmk1theta + TAef);
|
||||
TAefmodmk1 = std(TAef);
|
||||
|
||||
|
||||
/*Tmktheta;
|
||||
"---";
|
||||
TAef;
|
||||
"---";
|
||||
Tmk1theta;
|
||||
*/
|
||||
/*
|
||||
mktheta;
|
||||
Tmktheta;
|
||||
maxOX^(maxi_power+1);
|
||||
*/
|
||||
i = 1;
|
||||
|
||||
auxmod = reduce(Tmktheta, std(Tmk1theta + TAef));
|
||||
//Tmk1theta;
|
||||
|
||||
//reduce(Tmktheta,std(Tmk1theta));
|
||||
//std(TAef);
|
||||
if (size(auxmod)==0)
|
||||
bool_maxi_contained = 1;
|
||||
|
||||
while (bool_maxi_contained == 1 && i <= size(Tmktheta))
|
||||
{
|
||||
maxi_contained = 1;
|
||||
if (reduce(Tmktheta[i], TAefmodmk1) != 0)
|
||||
{
|
||||
bool_maxi_contained = 0;
|
||||
}
|
||||
i++;
|
||||
}
|
||||
|
||||
if (bool_maxi_contained == 0)
|
||||
{
|
||||
maxi_power = maxi_power + 1;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
execute("setring(" + RName + ")");
|
||||
module NAef = imap(Raux, NAef);
|
||||
*/
|
||||
|
||||
int maxi_power = 1;
|
||||
ideal mpfmax = std(mappingf^maxi_power_target);
|
||||
|
||||
@ -297,8 +300,9 @@ proc MaxPowerContained(ideal f)
|
||||
{
|
||||
maxi_power = maxi_power +1;
|
||||
}
|
||||
*/
|
||||
|
||||
return(maxi_power);
|
||||
return(maxi_power+tkemax);
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
@ -471,7 +475,7 @@ proc GenerateOYModule(matrix GOX, matrix GOY, list #)
|
||||
col = submat(GOY,intvec(1..a),intvec(i)); // Pick the next generator in GOY
|
||||
if (s>0)
|
||||
{
|
||||
M = M + MatrixToVector(MalgrFormVect(col, mappingf^k)); // Convert to GOX
|
||||
M = M + MatrixToVector(MalgrFormVect(col, #[1])); // Convert to GOX
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -503,7 +507,7 @@ proc GenerateOYModule(matrix GOX, matrix GOY, list #)
|
||||
{
|
||||
if (s>0)
|
||||
{
|
||||
M = M + MatrixToVector(MalgrFormVect(Gens[j]*col, mappingf^k)); // Convert to GOX
|
||||
M = M + MatrixToVector(MalgrFormVect(Gens[j]*col, #[1])); // Convert to GOX
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -513,11 +517,13 @@ proc GenerateOYModule(matrix GOX, matrix GOY, list #)
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
if (s > 0)
|
||||
{
|
||||
M = M + (ideal(X(1..dimX))^k)*freemodule(m*a);
|
||||
}
|
||||
//(ideal(X(1..dimX))^k)*freemodule(m*a);;//
|
||||
*/
|
||||
return(M);
|
||||
}
|
||||
|
||||
|
||||
65
example2.c
65
example2.c
@ -1,7 +1,66 @@
|
||||
LIB"AeCodPruebas.lib";
|
||||
ring r = 0,(x,y,z),ds;
|
||||
|
||||
ideal f = x,y,yz+z6+z8,z3+xz;
|
||||
/*ring r = 0,(x(1..5)),ds;
|
||||
|
||||
AeNormal(f, maxideal(2));
|
||||
ideal f = x(3),x(4),x(5),x(2)*x(1),x(1)^3+x(2)^3+x(3)*x(1)+x(4)*x(2)+(-x(5)-x(5)^2)*x(1)^2 +x(5)*x(2)^2;
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
ring r = 0,(x,y),ds;
|
||||
ideal f = x,xy+y6+y9;
|
||||
*/
|
||||
|
||||
//def Q = MalgrRing(ideal(0),2,f);
|
||||
|
||||
//breakpoint(AeDeterminacyTestDP);
|
||||
|
||||
"---";
|
||||
//int a = AeDeterminacyTestDP(f);
|
||||
//a;
|
||||
"---";
|
||||
/*
|
||||
ring r = 0,(u,v,y,z),ds;
|
||||
ideal f = u,v,y,z3-y2z,uz+vz2+yuz5;
|
||||
*/
|
||||
ring r = 0,(x(1..6),y,z),ds;
|
||||
|
||||
ideal f = x(1..6),y,z5+y2z3+x(4)*z3+x(5)*z2+x(6)*z, x(1)*z+x(2)*z2+x(3)*z3+x(4)*z4;
|
||||
matrix jf = jacob(f);
|
||||
|
||||
int p = ncols(f);
|
||||
int n = nvars(basering);
|
||||
|
||||
def Q = MalgrRing(ideal(0),n,f);
|
||||
setring Q;
|
||||
def f = imap(r,f);
|
||||
def jf = imap(r, jf);
|
||||
module wf = freemodule(9);
|
||||
int i;
|
||||
int m = ncols(Gens);
|
||||
if (p > n)
|
||||
{
|
||||
ideal h = ideal(f[(n+1)..p]);
|
||||
//print("h=");h;//
|
||||
for (i=1; i <= m-1; i++)
|
||||
{
|
||||
wf = wf + (freemodule(p) * (h)^i);
|
||||
//print("wf=");wf;//
|
||||
}
|
||||
}
|
||||
"Generando modulos .....";
|
||||
module TAef = GenerateOYModule(jf,wf);
|
||||
"Modulo Tae generado";
|
||||
module Maxi6 = GenerateOYModule(maxideal(6)*freemodule(9), 0);
|
||||
"Modulo Maxi Generado";
|
||||
ring target = 0,(X(1..n)),ds;
|
||||
module TAef = imap(Q,TAef);
|
||||
module Maxi6 = imap(Q, Maxi6);
|
||||
"Calculando base std...";
|
||||
module B = std(TAef + Maxi6);
|
||||
"Calculando kbase....";
|
||||
kbase(std(TAef + Maxi6));
|
||||
|
||||
//AeDeterminacyTestDP(f);
|
||||
//AeNormal(f);
|
||||
quit;
|
||||
104
example3.c
104
example3.c
@ -1,7 +1,107 @@
|
||||
LIB"AeCodPruebas.lib";
|
||||
ring r = 0,(x,y),ds;
|
||||
int i; int j;
|
||||
LIB"matrix.lib";
|
||||
|
||||
ideal f = x,y2,y3+x2y;
|
||||
/*ring r = 0,(x(1..3),w(1..3),y,z),ds;
|
||||
|
||||
ideal f = x(1..3),w(1..3),y,x(1)*z+x(2)*z^2+x(3)*z^3+(y2+2*w(3))*z4+z6,w(1)*z+w(2)*z2+w(3)*z3+z5;
|
||||
f;
|
||||
*/
|
||||
ring r = 0,(t,x,y),ds;
|
||||
ideal f = x,t,y2+ty,(x+y)^3+t2y;
|
||||
AeNormal(f);
|
||||
quit;
|
||||
|
||||
|
||||
ring r = (0),(x,w,y,z),ds;
|
||||
|
||||
ideal f = x,w,y,z*(x2+w2+y2)+z3,z2;
|
||||
AeDeterminacyTestDP(f);
|
||||
quit;
|
||||
//ideal f = x,w,y,x*z+(y2)*z2+z4,w*z+z3;
|
||||
ideal f = x,w,y,xz+z4,wz+yz2;
|
||||
AeNormal(f);
|
||||
quit;
|
||||
|
||||
/*
|
||||
AeDeterminacyTestDP(f);
|
||||
|
||||
AeNormal(f);
|
||||
*/
|
||||
matrix jf = jacob(f);
|
||||
|
||||
module tkef = jf + f*freemodule(5);
|
||||
ideal maxOX = maxideal(1);
|
||||
/*"Check: is m3 contained in tkef mod m4?";
|
||||
|
||||
compress(reduce(maxideal(3)*freemodule(5), std(tkef + maxideal(4)*freemodule(5))));
|
||||
*/
|
||||
|
||||
def Q = MalgrRing(ideal(0),4,ideal(f[1..4]));
|
||||
setring Q;
|
||||
|
||||
def f = imap(r,f);
|
||||
def jf = imap(r,jf);
|
||||
print(jf);
|
||||
module wf = 0; //freemodule(5);
|
||||
//def maxOX = imap(r,maxOX);
|
||||
|
||||
for(i=1; i<= ncols(Gens); i++)
|
||||
{
|
||||
wf = wf + f[5]*freemodule(5);
|
||||
}
|
||||
"modulot taef...";
|
||||
module taef = GenerateOYModule(maxOX*jf,wf);
|
||||
"modulo extra...";
|
||||
module extra = GenerateOYModule(maxOX^5*f*freemodule(5),0);
|
||||
"modulo extra 2...";
|
||||
module extra2 = GenerateOYModule(maxOX^10*freemodule(5),0);
|
||||
"max5...";
|
||||
module Max5 = GenerateOYModule(maxOX^5*freemodule(5),0);
|
||||
"reduciendo...";
|
||||
reduce(Max5, std(taef+extra+extra2));
|
||||
quit;
|
||||
|
||||
// taef; //
|
||||
module NOX = 0;
|
||||
/*
|
||||
for (i=1; i<= size(taef); i++)
|
||||
{
|
||||
NOX = concat(NOX,MalgrFormToOX(VectorToMatrix(taef[i], 5, size(Gens))));
|
||||
//print("NOX = "); print(NOX); //
|
||||
}
|
||||
*/
|
||||
|
||||
module Max1 = GenerateOYModule(maxOX*freemodule(5),0);
|
||||
module Max3 = GenerateOYModule(maxOX^3*freemodule(5),0);
|
||||
module Max4 = GenerateOYModule(maxOX^4*freemodule(5),0);
|
||||
|
||||
module tae4 = taef + Max4;
|
||||
tae4 = std(tae4);
|
||||
"---";
|
||||
"Is m3 contained in taef?";
|
||||
compress(reduce(Max3,std(taef)));
|
||||
quit;
|
||||
|
||||
|
||||
module fail = compress(reduce(Max1, tae4));
|
||||
|
||||
fail;
|
||||
for (i=1; i<= ncols(fail); i++)
|
||||
{
|
||||
print(transpose(MalgrFormToOX(VectorToMatrix(fail[i], 5, size(Gens)))));
|
||||
//print("NOX = "); print(NOX); //
|
||||
}
|
||||
|
||||
"______";
|
||||
matrix v[5][1] = 0,z,0,0,0;
|
||||
def V = MatrixToVector(MalgrFormVect(v));
|
||||
reduce(V,tae4);
|
||||
quit;
|
||||
ring target = 0,(X(1..5)),ds;
|
||||
module tae4 = imap(Q,tae4);
|
||||
kbase(std(tae4));
|
||||
|
||||
Auf Wiedersehe
|
||||
quit;
|
||||
;
|
||||
Loading…
Reference in New Issue
Block a user