small fixes and todo list updated

This commit is contained in:
Nelynx 2025-02-27 18:28:13 +01:00
parent e2717632d5
commit 05018b7d38
4 changed files with 199 additions and 2 deletions

View File

@ -45,3 +45,184 @@ LIB"AeCodPruebas.lib";
ring r = 0,(x,y),ds;
ideal f = x,y2,y3+x2y;
TargetIdeal(f, std(ideal(x,y)));
LIB"AeCodPruebas.lib";
ring r = 0,(x),ds;
ideal f = x2+x4,x3;
AeNormal(f);
AeNormal(f,maxideal(5));
AeNormal(f,maxideal(4));
AeNormal(f,maxideal(10));
AeNormal(f,maxideal(6));
def Q = MalgrRing(ideal(0),1,f);
GF;
setring Q;
GF;
Gens;
setring r;
TargetIdeal(f,std(maxideal(10)));
int k = 5;
matrix jf[2][1] = jacob(f);
print(jf);
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);
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
;

View File

@ -166,10 +166,12 @@ proc AeNormal(ideal f, list #)
wf = wf + freemodule(p)*(f^k);
}
/*
if (size(#)>0)
{
jf = jf + #[1]*freemodule(p);
}
*/
module NAef = NormalOYModule(jf, wf, #);
execute("setring(" + RName + ")");
@ -350,6 +352,7 @@ proc MalgrRing(ideal J, int n, ideal f)
// Create a ring with generators as variables and target variables.
ring R0 = changeord(list(list("dp",nvars(basering)))); // Change ordering of basering to global. In local, computations fail since one of the generators of Gens is always a constant.
// ¿To Do: let user choose the local ordering?
@ -358,7 +361,7 @@ proc MalgrRing(ideal J, int n, ideal f)
setring R1;
string vaX="X(";
def R2=extendring(p, vaX,"lp",1); // Add X variables so that X(j) corresponds to the j-th component of f.
def R2=extendring(p, vaX,"dp",1); // Add X variables so that X(j) corresponds to the j-th component of f.
setring R2;
// Bring necessary information from source ring

View File

@ -61,4 +61,8 @@ If $f(x)=x + x^3$, there is no solution for (3) with polynomial unit.
- Verify that if the local-global basis is the same then the algorithm:
1. Finishes
2. It finishes correctly
3. If it does not, it gives an upper bound
3. If it does not, it gives an upper bound
- 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.

9
ejemplo.c Normal file
View File

@ -0,0 +1,9 @@
LIB "AeCodPruebas.lib";
ring r = 0,(x),(c,ds);
ideal f = x2+x4,x3;
breakpoint(NormalOYModule);
AeNormal(f,maxideal(10));
quit;