
// Make newform 460.2.m.b in Magma, downloaded from the LMFDB on 23 April 2024.
// To make the character of type GrpDrchElt, type "MakeCharacter_460_m();"
// To make the Hecke irreducible modular symbols subspace (type ModSym)
// containing the newform, type "MakeNewformModSym_460_2_m_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_460_m();"
function MakeCharacter_460_m()
    N := 460;
    order := 11;
    char_gens := [231, 277, 281];
    v := [11, 11, 6];
    // 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_460_m_Hecke(Kf)
    return MakeCharacter_460_m();
end function;


// To make the Hecke irreducible modular symbols subspace (type ModSym)
// containing the newform, type "MakeNewformModSym_460_2_m_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_460_2_m_b( : sign := -1)
    R<x> := PolynomialRing(Rationals());
    chi := MakeCharacter_460_m();
    // SetVerbose("ModularSymbols", true);
    Snew := NewSubspace(CuspidalSubspace(ModularSymbols(chi,2,sign)));
    Vf := Kernel([<3,R![118352641, 887465304, 1144917972, 3002513481, 36257950443, -4848564160, 75087422905, -211089748287, 1456924799330, -1106955955666, 3832586045575, 111793858928, 1312606124547, -332156586329, 1144263195447, -89584124958, 332871021338, 1338226345539, 257562169389, -740050576434, 701902048598, -466779881723, 362717207901, -201230355194, 125313543850, -28315313531, 44164028689, -8620316663, 15497393145, -1725749571, 3524097961, -194111994, 288900914, -29086648, 53535397, -8659789, 7026193, -668447, 827260, 15479, 94138, 952, 14209, -59, 1959, -115, 223, -7, 20, 0, 1]>],Snew);
    return Vf;
end function;