Commit c3f24dba authored by Gonzalo Tornaría's avatar Gonzalo Tornaría

check residual trace

parent e70e754d
......@@ -359,9 +359,20 @@ intrinsic ModPrimes(m :: Modularity, R2 :: FldNum,
proj :: Map, phi :: Map
: debug := false, keep_going := false, PrimeBound := 500,
no_order := false, only_order := false,
check_frob := false) -> []
check_frob := false,
check_residual := []) -> []
{ .. }
fc := frobenius_classes(proj : no_order:=no_order, only_order:=only_order);
for p_ap in check_residual do
p, ap := Explode(p_ap);
pat1 := m`frobR1[p];
pat2 := FrobeniusStructure(R2, p);
cs := fc[<pat1,pat2>];
cc := [ c : c in cs | tr1(phi(c)) eq ap ];
if #cc eq 0 then
return -p;
end if;
end for;
if &and [tr(phi(x)) eq 0 : x in fc[a], a in Keys(fc)] then
// a cocycle with all traces equal to 0 is ok
return 1;
......
Attach("Modularity.m");
Attach("GrpExt.m");
Attach("Grp.m");
AttachSpec("mod.spec");
//load "ex.m";
load "ex-353.m";
......@@ -11,7 +9,8 @@ time for i := 1 to #all do
R2:=NumberField(Polynomial(R1, [-all[i], 0, 1]));
proj, phis := ModPhis(m, R2);
dim := Integers() ! Log(2, #Domain(phis[1])/#G5);
ps := [ModPrimes(m, R2, proj, phi) : phi in phis];
ps := [ ModPrimes( m, R2, proj, phi
: check_residual:=[<5,1>] ) : phi in phis ];
for p in ps do
Include(~PS, p);
end for;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment