
// Make newform 930.2.br.b in Magma, downloaded from the LMFDB on 25 April 2024.
// To make the character of type GrpDrchElt, type "MakeCharacter_930_br();"
// To make the Hecke irreducible modular symbols subspace (type ModSym)
// containing the newform, type "MakeNewformModSym_930_2_br_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_930_br();"
function MakeCharacter_930_br()
    N := 930;
    order := 30;
    char_gens := [311, 187, 871];
    v := [15, 30, 23];
    // 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_930_br_Hecke(Kf)
    return MakeCharacter_930_br();
end function;


// To make the Hecke irreducible modular symbols subspace (type ModSym)
// containing the newform, type "MakeNewformModSym_930_2_br_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_930_2_br_b( : sign := -1)
    R<x> := PolynomialRing(Rationals());
    chi := MakeCharacter_930_br();
    // SetVerbose("ModularSymbols", true);
    Snew := NewSubspace(CuspidalSubspace(ModularSymbols(chi,2,sign)));
    Vf := Kernel([<7,R![857597710845719101696, -34952250095051568590080, 547282789532724735969152, -3904679210622618000090368, 9689365675129525767228096, 25740409028083438668306912, -155633915338394499835153244, -183374099463522544300604544, 1906247972843108248480989229, 3269752733485072248117780736, -11355710979663072241881042373, 916006824321497119728829534, 133719560831966172365807989672, 221302505362392198088210096208, 132401998131805948308494910651, -111840106492383302482137043436, -151871817845516791234191241918, 563929938650012651419875158326, 1912038562304031009418140959253, 2893536440142392410061851405492, 3234165766336925299926674966046, 4361628247176618642619908449372, 7465549538909724124072458228903, 11229865222074029354089878753696, 12566327071258233016682063719646, 9742433863816037198237993205070, 4569733157457796163797895341637, 997848820823617372654906153310, 1379031629636368621818527729710, 4540161482692650487185903947860, 7424209025114735043332005310818, 7918802473486955428250823614504, 6075621183194442462655239616027, 3355859962270440971970051669446, 1187209220797967767596285212409, 101586926634274728815348639922, -163375853999643860559743623744, -94113570335150803397926640542, -1357203089034710792250841600, 29578659627452770734234068538, 21659765480038797996466479731, 7909166739992792885089716094, 810255932902101292574059373, -784723194405190965820111844, -479410059058225817671034586, -96479194211991607019487982, 30638302983151890237241774, 29718784566914801555525418, 10199469484138897431434705, 1115109484897393309325894, -641772214550348943539914, -382384486335319915008996, -89240037544354058376616, -137163276555735359026, 7247078880913967698534, 2681526810608654931714, 380059955182873258471, -68595162656992311872, -38147250932902567431, -5379446377803162606, 305589674426767625, 444857536138593926, 105467921851681465, -18465909252437026, -8286244707805855, 553313500033740, 371693994930869, 70096160321370, 15136626448587, -6369210171448, -2780988304798, 75383689654, 121867904238, 9348343280, 185186033, -302373988, -265689766, 6986768, 17962485, -151640, -490728, -44690, -6911, 2970, 1105, -14, -46, -2, 1]>],Snew);
    return Vf;
end function;