
// Make newform 6033.2.a.c in Magma, downloaded from the LMFDB on 24 April 2024.
// To make the character of type GrpDrchElt, type "MakeCharacter_6033_a();"
// To make the Hecke irreducible modular symbols subspace (type ModSym)
// containing the newform, type "MakeNewformModSym_6033_2_a_c();".
// 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_6033_a();"
function MakeCharacter_6033_a()
    N := 6033;
    order := 1;
    char_gens := [2012, 2014];
    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_6033_a_Hecke(Kf)
    return MakeCharacter_6033_a();
end function;


// To make the Hecke irreducible modular symbols subspace (type ModSym)
// containing the newform, type "MakeNewformModSym_6033_2_a_c();".
// 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_6033_2_a_c( : sign := -1)
    R<x> := PolynomialRing(Rationals());
    chi := MakeCharacter_6033_a();
    // SetVerbose("ModularSymbols", true);
    Snew := NewSubspace(CuspidalSubspace(ModularSymbols(chi,2,sign)));
    Vf := Kernel([<2,R![-140728, 4985593, 523763, -1936991369, 23986763590, -1772696587, -1543031193865, 6656823907078, 26360357387880, -209629937399040, -104594944669040, 3060812649806391, -2028482997795140, -27003893881194215, 34839607897272392, 160727105092259967, -280138954250709479, -684503024767566872, 1477282106405601672, 2154179768964979292, -5664969415407686779, -5069892478047178727, 16637216238970046882, 8796920746465645187, -38632076818103847894, -10402763879503897457, 72482858184159943674, 5294389662249282990, -111620591434883313125, 9351050516417483587, 142724917750994589024, -30786896017429772501, -152825993879916726139, 50837561067525884430, 137856975836394097820, -60975660811966522032, -105136937942123877204, 58018869989038313853, 67862247474621133331, -45427116887532723315, -36990781070157987378, 29833639434271690767, 16907187178022635969, -16619191172369864112, -6376579912350364978, 7906451054772554232, 1913065056921021323, -3224974856404091823, -412114506179811496, 1129788917953807375, 36514583700911864, -339865785388921826, 17216073299306228, 87601534271490329, -11039516735689463, -19260043262124134, 3818737703887853, 3584561984849203, -976991299322444, -557764845705277, 198782741752141, 71048054262699, -32961135025877, -7118385764747, 4483868165214, 509682809386, -498824270981, -17227915992, 44878094988, -1373348317, -3199389624, 282115857, 174624052, -25245040, -6858478, 1444187, 168931, -54274, -1463, 1235, -41, -13, 1]>],Snew);
    return Vf;
end function;