
// Make newform 6025.2.a.n in Magma, downloaded from the LMFDB on 23 April 2024.
// To make the character of type GrpDrchElt, type "MakeCharacter_6025_a();"
// To make the Hecke irreducible modular symbols subspace (type ModSym)
// containing the newform, type "MakeNewformModSym_6025_2_a_n();".
// 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_6025_a();"
function MakeCharacter_6025_a()
    N := 6025;
    order := 1;
    char_gens := [2652, 2176];
    v := [1, 1];
    // 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_6025_a_Hecke(Kf)
    return MakeCharacter_6025_a();
end function;


// To make the Hecke irreducible modular symbols subspace (type ModSym)
// containing the newform, type "MakeNewformModSym_6025_2_a_n();".
// 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_6025_2_a_n( : sign := -1)
    R<x> := PolynomialRing(Rationals());
    chi := MakeCharacter_6025_a();
    // SetVerbose("ModularSymbols", true);
    Snew := NewSubspace(CuspidalSubspace(ModularSymbols(chi,2,sign)));
    Vf := Kernel([<2,R![-1125, -15275, 34145, 651835, -196273, -10059953, -862710, 78328672, 5365494, -360207107, 26853137, 1052163979, -254226089, -2029491355, 807241984, 2653603464, -1434171328, -2395860484, 1636149726, 1504480779, -1279590408, -648009608, 711231060, 179108312, -286366173, -23079688, 84038465, -3697787, -17857137, 2552711, 2684007, -622258, -270582, 89366, 16042, -7915, -310, 402, -20, -9, 1]>,<3,R![5329, -1617826, -9564854, 100462952, 42387617, -1218484072, 539015346, 6508455408, -5350573333, -18969031673, 20481305913, 33340799774, -44364457519, -36986939157, 61648544901, 25745308101, -58629923788, -9861413510, 39668743105, 146786816, -19552513911, 2228738071, 7111217471, -1460972036, -1914381361, 543437580, 378562424, -136457564, -53731684, 24180259, 5189685, -3037951, -295474, 265099, 4030, -15275, 684, 522, -47, -8, 1]>],Snew);
    return Vf;
end function;