
// Make newform 475.2.bb.b in Magma, downloaded from the LMFDB on 10 September 2025.
// To make the character of type GrpDrchElt, type "MakeCharacter_475_bb();"
// To make the Hecke irreducible modular symbols subspace (type ModSym)
// containing the newform, type "MakeNewformModSym_475_2_bb_b();".
// This may take a long time!  To see verbose output, uncomment the SetVerbose line below.
// The default sign is -1.  You can change this with the optional parameter "sign".
// To make the character of type GrpDrchElt, type "MakeCharacter_475_bb();"
function MakeCharacter_475_bb()
    N := 475;
    order := 36;
    char_gens := [77, 401];
    v := [9, 10];
    // chi(gens[i]) = zeta^v[i]
    assert UnitGenerators(DirichletGroup(N)) eq char_gens;
    F := CyclotomicField(order);
    chi := DirichletCharacterFromValuesOnUnitGenerators(DirichletGroup(N,F),[F|F.1^e:e in v]);
    return MinimalBaseRingCharacter(chi);
end function;

function MakeCharacter_475_bb_Hecke( : Kf := Kf)
    return MakeCharacter_475_bb();
end function;


// To make the Hecke irreducible modular symbols subspace (type ModSym)
// containing the newform, type "MakeNewformModSym_475_2_bb_b();".
// This may take a long time!  To see verbose output, uncomment the SetVerbose line below.
// The default sign is -1.  You can change this with the optional parameter "sign".
function MakeNewformModSym_475_2_bb_b( : sign := -1)
    R<x> := PolynomialRing(Rationals());
    chi := MakeCharacter_475_bb();
    // SetVerbose("ModularSymbols", true);
    Snew := NewSubspace(CuspidalSubspace(ModularSymbols(chi,2,sign)));
    Vf := Kernel([<2,R![531441, 11691702, 128608722, 395510202, -1903916907, -25397683488, 49172595480, -124465441752, 2354833543860, -5110034471406, 8123600392956, -70478301813930, 69524313685524, 5305513077018, 842904539702820, -1272910828152600, 1816081363279746, -697544312527278, 9079697694015846, -21674956447674432, 19223332131355380, 9218320428939510, -10670177126551500, -67092925443239928, 179231317600923658, -245992328452564308, 202673818647454950, -114208830659115684, 27203534402735880, -116020918090699176, 294146309511903402, -316406840904438594, 214118788663989603, -92939721616696962, 184441503074245218, -247970596613191704, 146408322378655418, -3332888131098714, -29131661593951758, -40521148168336296, 103059532917161562, -71256032377756290, -18470071422345132, 87916510021799136, -96832365900700656, 59811497871763350, -13303525007105784, -18123695221624386, 27578899627430327, -20246144350548810, 6823365793910964, 3254407703626146, -6471916716646497, 4600277667636624, -1266016271328630, -982266801733434, 1555695336194013, -1104563617300290, 445759689254346, -8732041389156, -150929267622708, 142816707501084, -82323876184254, 31337921247186, -4743629751249, -3811112880924, 4032701119638, -2243311140624, 909035753589, -313877809026, 120523299588, -64119611814, 39490791480, -22298508180, 10754407422, -4470739068, 1612707633, -479206080, 99187092, -7056612, -1838889, -616578, 705924, 232236, -686693, 592032, -327960, 130878, -36672, 4656, 2178, -1962, 897, -294, 72, -12, 1]>],Snew);
    return Vf;
end function;