version 1.1, 2010/05/09 13:40:23 |
version 1.4, 2010/05/12 07:55:44 |
Line 15 localf maxindep, contraction, ideal_list_intersection, |
|
Line 15 localf maxindep, contraction, ideal_list_intersection, |
|
localf radical_membership, quick_radical_membership, modular_radical_membership$ |
localf radical_membership, quick_radical_membership, modular_radical_membership$ |
localf radical_membership_rep, ideal_product, saturation$ |
localf radical_membership_rep, ideal_product, saturation$ |
localf sat, satind, sat_ind, colon$ |
localf sat, satind, sat_ind, colon$ |
localf ideal_colon, ideal_inclusion, qd_simp_comp, qd_remove_redundant_comp$ |
localf ideal_colon, ideal_sat, ideal_inclusion, qd_simp_comp, qd_remove_redundant_comp$ |
localf remove_redundant_comp, remove_redundant_comp_first, ppart, sq$ |
localf remove_redundant_comp, remove_redundant_comp_first, ppart, sq$ |
localf lcfactor, compute_deg0, compute_deg, member$ |
localf lcfactor, compute_deg0, compute_deg, member$ |
localf elimination, setintersection, setminus, sep_list$ |
localf elimination, setintersection, setminus, sep_list$ |
|
|
def gbcheck(A) |
def gbcheck(A) |
{ |
{ |
if ( A ) GBCheck = 1; |
if ( A ) GBCheck = 1; |
else GBcheck = -1; |
else GBCheck = -1; |
} |
} |
|
|
def f4(A) |
def f4(A) |
|
|
T0 = time(); |
T0 = time(); |
C = ideal_colon(Gt,IntQt,V); |
C = ideal_colon(Gt,IntQt,V); |
T1 = time(); Tcolon += T1[0]-T0[0]+T1[1]-T0[1]; Rcolon += T1[3]-T0[3]; |
T1 = time(); Tcolon += T1[0]-T0[0]+T1[1]-T0[1]; Rcolon += T1[3]-T0[3]; |
|
T0 = time(); |
if ( SepIdeal == 0 ) |
if ( SepIdeal == 0 ) |
Ok = find_separating_ideal0(C,Gt,IntQt,IntPt,V,Ord); |
Ok = find_separating_ideal0(C,Gt,IntQt,IntPt,V,Ord); |
else if ( SepIdeal == 1 ) |
else if ( SepIdeal == 1 ) |
|
|
else if ( SepIdeal == 2 ) |
else if ( SepIdeal == 2 ) |
Ok = find_separating_ideal2(C,Gt,IntQt,IntPt,V,Ord); |
Ok = find_separating_ideal2(C,Gt,IntQt,IntPt,V,Ord); |
G1 = append(Ok,Gt); |
G1 = append(Ok,Gt); |
T0 = time(); |
|
Gt = fast_gb(G1,V,0,Ord); |
Gt = fast_gb(G1,V,0,Ord); |
T1 = time(); Tsep += T1[0]-T0[0]+T1[1]-T0[1]; Rsep += T1[3]-T0[3]; |
T1 = time(); Tsep += T1[0]-T0[0]+T1[1]-T0[1]; Rsep += T1[3]-T0[3]; |
} |
} |
Line 1169 def colon(G,F,V) |
|
Line 1169 def colon(G,F,V) |
|
{ |
{ |
F = p_nf(F,G,V,0); |
F = p_nf(F,G,V,0); |
if ( !F ) return [1]; |
if ( !F ) return [1]; |
NV = ttttt; |
T = ideal_intersection(G,[F],V,0); |
V1 = cons(NV,V); |
|
T = nd_gr_trace(append(vtol(NV*ltov(G)),[(1-NV)*F]),V1,1,GBCheck, |
|
[[0,1],[0,length(V)]]|gbblock=[[0,length(G)]],nora=1); |
|
T = elimination(T,V); |
|
return map(ptozp,map(sdiv,T,F)); |
return map(ptozp,map(sdiv,T,F)); |
} |
} |
|
|
Line 1181 def ideal_colon(G,F,V) |
|
Line 1177 def ideal_colon(G,F,V) |
|
{ |
{ |
G = nd_gr(G,V,0,0); |
G = nd_gr(G,V,0,0); |
L = mapat(colon,1,G,F,V); |
L = mapat(colon,1,G,F,V); |
|
return ideal_list_intersection(L,V,0); |
|
} |
|
|
|
def ideal_sat(G,F,V) |
|
{ |
|
G = nd_gr(G,V,0,0); |
|
L = mapat(sat,1,G,F,V); |
return ideal_list_intersection(L,V,0); |
return ideal_list_intersection(L,V,0); |
} |
} |
|
|