
// Make newform 804.2.s.b in Magma, downloaded from the LMFDB on 25 April 2024.
// To make the character of type GrpDrchElt, type "MakeCharacter_804_s();"
// To make the Hecke irreducible modular symbols subspace (type ModSym)
// containing the newform, type "MakeNewformModSym_804_2_s_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_804_s();"
function MakeCharacter_804_s()
    N := 804;
    order := 22;
    char_gens := [403, 269, 337];
    v := [22, 11, 5];
    // 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_804_s_Hecke(Kf)
    return MakeCharacter_804_s();
end function;


// To make the Hecke irreducible modular symbols subspace (type ModSym)
// containing the newform, type "MakeNewformModSym_804_2_s_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_804_2_s_b( : sign := -1)
    R<x> := PolynomialRing(Rationals());
    chi := MakeCharacter_804_s();
    // SetVerbose("ModularSymbols", true);
    Snew := NewSubspace(CuspidalSubspace(ModularSymbols(chi,2,sign)));
    Vf := Kernel([<5,R![61415334133078640794462651616837084164720496293639256281, 0, 5129697249604066101286824378800458775270148920689860163953, 0, 148659671780342279502983148043652984903060452375866660520289, 0, 1656517647691111803516349357279359787124594365877293848379201, 0, 8982385335843219679451875099586802376094398641048156822193229, 0, 26845634868916993752091160373699869203450947839796147020800618, 0, 49966582437028460700102947735436504553881308580739197253726317, 0, 55631127812686782724751491584171936509709577467626725919847167, 0, 260472510600291915755066917585670882921002845390533082212970787, 0, 818383192778719639398533572402584974987484497709985807329447184, 0, 4718502237165728876404662249310288496367007659496863852123347791, 0, 7840416863500737895824265902501825524062401509011860619368998603, 0, 14138235949735884984364547313075608534811707500681153317454476011, 0, 16188929909559256702216639824488831677555907624398832383665910705, 0, 15319010092866635594532236884863154393418491498160780052648859619, 0, 17838046733067261574780257100862786860433242322931113376698439494, 0, 19628468086316793084655854315454692978268109023680604259395094652, 0, 20988520860421469257710656600982361091787983993254688942355287576, 0, 23071218125851273043235080726019435409190131630207252143571537299, 0, 21183023635697326466886714459500857629425031502452147257672695454, 0, 20313502652962630424475255366767216097804558327564148587695306698, 0, 17049400556273288776637093616878590578305126398145485374541358547, 0, 14341482993873972073966295508011153884409131479743980829694032230, 0, 10624503542622849488005381935832714451678713481575462185941268354, 0, 8318403587249203514139018742346733520168132813929025257644315271, 0, 6199574154413359689763891132082373942782243189229133885319684611, 0, 4546451035615443829294103257238230595763293395127294373627141935, 0, 3096582670169913125218907220576334966983144760030006550369827963, 0, 2055706271524843478684028559541663152686570033841975716165009369, 0, 1267568618615958775920025341302796410839629535520778332641313812, 0, 710604478690128797965560363076107311970678258273603149619887693, 0, 354668354128499095617273348893575379767845654117722357416810776, 0, 160631687559144349513660793929716544003296724612009197372918281, 0, 66589956292120157236217641802981312047957255068089010714687581, 0, 25260966822016714660572523900037891194769891786045848232826114, 0, 8749866193518251017780547932045222987278537466736150779888264, 0, 2796262606355836567850629803595414603781480474631201830366397, 0, 837890694929014363048950193105795929903555786037447291978263, 0, 236790845610888041803858551881638889763007719985615041757898, 0, 63458850383156526274425463597837337397065532659202717485091, 0, 16327089845555390359261926778649429975821130956890488317227, 0, 4052482877832402559640416737040604782687456936252623726249, 0, 975081435595590942416139045633728855802743083289305998879, 0, 228159753579020088910469837413271234646456919893735258852, 0, 51842426336459553521847622009287764037256186712049052141, 0, 11409195866715578461662913179732062060974873208168735295, 0, 2433999222968504041867253648610127657857554446830848580, 0, 504389953907615033344742387325064202994446876372755225, 0, 100955999033030463062660312621335126146996268743359907, 0, 19583275580636535277635413925834701474398544167770588, 0, 3727797123766433354131169005151776150490614284160246, 0, 687721748927832830465734329243817286571704991384677, 0, 124302479143602700918285523220275990174998589429758, 0, 22013508184849090004479269184190377469502751496278, 0, 3753497390672833248381896608407269948626780370995, 0, 626915216134130114355470387267199223685509264833, 0, 101455884937566325209423961182101007044798405588, 0, 15726270801020095339098931153658979465445600706, 0, 2403677622070830840367253200209168982849867275, 0, 356518501333951551345391012788664602913501251, 0, 52215605474933745854096202860686911767695095, 0, 7531111909649252542786368497985190964402032, 0, 1047023016660200904451217590905038049363426, 0, 140185100836449570533137148609239856381818, 0, 18113881946821748278508164632040100539974, 0, 2311143421783469988794046037159575584213, 0, 288196481586946963329872820359497833372, 0, 35081457046201397104990520713910099457, 0, 4272519265373858584795555056403873681, 0, 482144814395297163776476183091310363, 0, 55842625756964064829333668080171798, 0, 6333497003503012034104725514276840, 0, 657104781257966919012856193258365, 0, 71113930335029164390769909058630, 0, 7485466298978631823832817932938, 0, 741073801046260642003943856509, 0, 76172553109205690508206528773, 0, 7323353458082340276127625217, 0, 689572446682668599805488365, 0, 65060016120386213925254900, 0, 5876547952673929278456395, 0, 512863017757477926103752, 0, 44477632772571838194687, 0, 3821591568651120937214, 0, 315054904978698309801, 0, 24807617339389461755, 0, 1948934290010496267, 0, 145296081782217675, 0, 10551356133459831, 0, 733193063906030, 0, 50301735542716, 0, 3333906909033, 0, 213844495923, 0, 12986620935, 0, 735112005, 0, 38428465, 0, 1818260, 0, 73443, 0, 2469, 0, 60, 0, 1]>],Snew);
    return Vf;
end function;