-
Notifications
You must be signed in to change notification settings - Fork 0
/
Decomposition-Factor-Hom.m
46 lines (39 loc) · 44.8 KB
/
Decomposition-Factor-Hom.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
/* Decomposition example */
/* Checks that a morphism in the final part of the example would have to be of degree 6 by manipulations on the Jacobian */
prec := 300;
SetDefaultRealFieldPrecision(prec);
CC<I> := ComplexFieldExtra(prec);
CCSmall := ComplexField(5);
/* Period matrix from main calculation, with big precision buffer */
P := Matrix(CC, [
[ 0.00339475793003716677708461778798570426359516323666744771867440415094527985139116814711667093372540583191413982517007138060275503629659533064899497011400560343756588386572580715337460829916859408927163251445929536350025956957139276187352472314513004375851628019805467233723955458546329039258315891671735 - 0.000654789288814302477330964735032445216607913098072422632655635618702321774129143262173094730619441941025948263984288407140202294087261880868202183333428983783857612336808483039330593862956517935204804243264222272638740221839870835741043534190549086132910251133047999735087629441172307807734727849058650*I, -0.00443480220521896047140142480367198261547280050398090133122731199962258774358160527671319052791276516993934511789989879208512227065923518433359431383945226259518467590631934894018310704114724609484789331353931638606552151487810805552474247871765935584357520162330189638391160055261083716498415373692166 + 0.00246298981117872686920251668492747000965544003493585257504818999277799368591219650997588543925109175846971024001043949888381491372766801759527951542355091134033383260975656405355291663474068681222950721974082392643086002327915480321730581565699185261464261430696311699779797291438167954208145789498018*I, -0.00574947158489253985985242856028513017531268920602144182479590045321325181059189916463682227326345232580307435761031534972314283823055080761339059650256454771751297569085807251994071785635853617296700422983856970443525719383607023009583169071773077543197363897086212062780706320377903401276532301323040 - 0.00180820052236442439187155194989502479304752693686342994239255437407567191178305324780279070863164981744376197602615109174361261964040613672707733209012192755647622027294808101422232277178416887702470297647660165379211980143928396747626228146644276648173236317391511726271034347320937173434673004592153*I, -0.00443480220521896047140142480367198261547280050398090133122731199962258774358160527671319052791276516993934511789989879208512227065923518433359431383945226259518467590631934894018310704114724609484789331353931638606552151487810805552474247871765935584357520162330189638391160055261083716498415373692166 - 0.00246298981117872686920251668492747000965544003493585257504818999277799368591219650997588543925109175846971024001043949888381491372766801759527951542355091134033383260975656405355291663474068681222950721974082392643086002327915480321730581565699185261464261430696311699779797291438167954208145789498018*I, 0.00104004427518179369431680701568627835187763726731345361255290784867730789219043712959651959418735933802520529272982741148236723436263985368459934372544665915761879204059354178680849874197865200557626079908002102256526194530671529365121775557252931208505892142524722404667204596714754677240099482020430 + 0.000498621944735819437209622479830134359831700740718584677081283136671028363524766723456601247392765935391865448057574277463208031465882374990672965423263959988760995599331114935561135045871133006615094489948157108514639357759542295994175213085344594215911860907819117792535084590864756118877274347804228*I, 9.68352143222334041920869278583062248748202794697206812656808091829311370031017198835784030802244796149482106250946784949442339347108065839374136590116383230956114582785127414224726336167012398418500265108429377625127484909151054348369630774483157761522331081575027476747496755486281512864642350431978e-305 - 0.00130957857762860495466192947006489043321582619614484526531127123740464354825828652434618946123888388205189652796857681428040458817452376173640436666685796756771522467361696607866118772591303587040960848652844454527748044367974167148208706838109817226582050226609599947017525888234461561546945569811730*I, -0.00104004427518179369431680701568627835187763726731345361255290784867730789219043712959651959418735933802520529272982741148236723436263985368459934372544665915761879204059354178680849874197865200557626079908002102256526194530671529365121775557252931208505892142524722404667204596714754677240099482020430 + 0.00180820052236442439187155194989502479304752693686342994239255437407567191178305324780279070863164981744376197602615109174361261964040613672707733209012192755647622027294808101422232277178416887702470297647660165379211980143928396747626228146644276648173236317391511726271034347320937173434673004592153*I, -0.00339475793003716677708461778798570426359516323666744771867440415094527985139116814711667093372540583191413982517007138060275503629659533064899497011400560343756588386572580715337460829916859408927163251445929536350025956957139276187352472314513004375851628019805467233723955458546329039258315891671735 - 0.000654789288814302477330964735032445216607913098072422632655635618702321774129143262173094730619441941025948263984288407140202294087261880868202183333428983783857612336808483039330593862956517935204804243264222272638740221839870835741043534190549086132910251133047999735087629441172307807734727849058650*I, -0.00443480220521896047140142480367198261547280050398090133122731199962258774358160527671319052791276516993934511789989879208512227065923518433359431383945226259518467590631934894018310704114724609484789331353931638606552151487810805552474247871765935584357520162330189638391160055261083716498415373692166 - 0.00115341123355012191454058721486257957643961383879100730973691875537335013765390998562969597801220787641781371204186268460341032555314425585887514875669294377261860793613959797489172890882765094181989873321237938115337957959941313173521874727589368034882211204086711752762271403203706392661200219686288*I, -0.00782956013525612724848604259165768687906796374064834904990171615056786759497277342382986146163817100185348494306997017268787730695583051498258928395345786603275055977204515609355771534031584018411952582799861174956578108444950081739826720186278939960209148182135656872115115513807412755756731265363901 - 0.00542460156709327317561465584968507437914258081059028982717766312222701573534915974340837212589494945233128592807845327523083785892121841018123199627036578266942866081884424304266696831535250663107410892942980496137635940431785190242878684439932829944519708952174535178813103041962811520304019013776458*I, 0.00104004427518179369431680701568627835187763726731345361255290784867730789219043712959651959418735933802520529272982741148236723436263985368459934372544665915761879204059354178680849874197865200557626079908002102256526194530671529365121775557252931208505892142524722404667204596714754677240099482020430 + 0.00180820052236442439187155194989502479304752693686342994239255437407567191178305324780279070863164981744376197602615109174361261964040613672707733209012192755647622027294808101422232277178416887702470297647660165379211980143928396747626228146644276648173236317391511726271034347320937173434673004592153*I, 0.00443480220521896047140142480367198261547280050398090133122731199962258774358160527671319052791276516993934511789989879208512227065923518433359431383945226259518467590631934894018310704114724609484789331353931638606552151487810805552474247871765935584357520162330189638391160055261083716498415373692166 + 0.00115341123355012191454058721486257957643961383879100730973691875537335013765390998562969597801220787641781371204186268460341032555314425585887514875669294377261860793613959797489172890882765094181989873321237938115337957959941313173521874727589368034882211204086711752762271403203706392661200219686288*I],
[ 0.00262253957133230116300046185762301121921377953002564610848020636446406875773503006357917237014096553697208304315333496724277051710066308143463561037445939102985250786766004572682239138175642091101194476604069244500709024003266895891283488148386562483500799136312764496106249632767501513536978411939505 - 0.00106024088336179429494674256189569060035557082574031162476704386296323119875449448245215848879577389412064823699619172629423857300412797070231673194072471695289009121751272822206021941662549764406812091982963731121134323348098617820502965737310447760271652191243714631863172210274846704975234658161951*I, -0.00439958773142622843153835371599266684593854844291236719213968829929767124275560542017486807775001968495959118796663201946387674409974891171606016162674102559750375666120846426809703817764216265914018242077395543344022468413708327625825404525136565103936434212908888894197506008483476837161184085274346 + 0.00247506107427726308401043798181045738357081690113723732515627035301222178125655138997615165773966006312688340765207411141076697922802641043226323603740630459898387508307876431508783706083526745614592907956505277607665526138419990511057452936780220510809705771303399387489865754133397205356574364031877*I, -0.00346803098257067505746303185687636681170279014716457113330093079409453503044948477056264903267287692595665794149337288226443480720224033258784666949663714749205376694177167291237013596762710007389565187734812190158104603596092360048025059920023122346565963196029404594121242889819027703449751150544167 - 0.00141482019091546878906369541991476678321524607539692570038922649004899058250205690752399316894388616900623517065588238511652840622389843972994650409668158764609378386556603609302761764420976981207780815973541546486531202790321372690554487199469772750538053580059684755626693543858550500381339705869926*I, -0.00439958773142622843153835371599266684593854844291236719213968829929767124275560542017486807775001968495959118796663201946387674409974891171606016162674102559750375666120846426809703817764216265914018242077395543344022468413708327625825404525136565103936434212908888894197506008483476837161184085274346 - 0.00247506107427726308401043798181045738357081690113723732515627035301222178125655138997615165773966006312688340765207411141076697922802641043226323603740630459898387508307876431508783706083526745614592907956505277607665526138419990511057452936780220510809705771303399387489865754133397205356574364031877*I, 0.00177704816009392726853789185836965562672476891288672108365948193483360248502057535659569570760905414798750814481329705222110622699908583028142455125228163456765124879354841854127464679588574174812823765473326298843313444410441431734541916376750002620435635076596124398091256375715975323624205673334842 - 0.000705661575808119800829789703876614417495895576083697549144861235877471815006932057380323808647661619235061303336501067471948739784357501674686959784767846259686398569459420351092821189041225476058433679923859157557374439058758629504514442751511227700052508024277445080996508766911429095691296104539769*I, -1.10506068108901649489793317673596515445383142453681248032600452832286121050598433278907118809197347325293840360402162517759890490199391042846224999107399027532638958270773363740939358362588473701875912606491352505455724748456061496225710806029254473961960135191503135581773159155493302056318009402237e-303 - 0.00212048176672358858989348512379138120071114165148062324953408772592646239750898896490431697759154778824129647399238345258847714600825594140463346388144943390578018243502545644412043883325099528813624183965927462242268646696197235641005931474620895520543304382487429263726344420549693409950469316323903*I, -0.00177704816009392726853789185836965562672476891288672108365948193483360248502057535659569570760905414798750814481329705222110622699908583028142455125228163456765124879354841854127464679588574174812823765473326298843313444410441431734541916376750002620435635076596124398091256375715975323624205673334842 + 0.00141482019091546878906369541991476678321524607539692570038922649004899058250205690752399316894388616900623517065588238511652840622389843972994650409668158764609378386556603609302761764420976981207780815973541546486531202790321372690554487199469772750538053580059684755626693543858550500381339705869926*I, -0.00262253957133230116300046185762301121921377953002564610848020636446406875773503006357917237014096553697208304315333496724277051710066308143463561037445939102985250786766004572682239138175642091101194476604069244500709024003266895891283488148386562483500799136312764496106249632767501513536978411939504 - 0.00106024088336179429494674256189569060035557082574031162476704386296323119875449448245215848879577389412064823699619172629423857300412797070231673194072471695289009121751272822206021941662549764406812091982963731121134323348098617820502965737310447760271652191243714631863172210274846704975234658161951*I, -0.00439958773142622843153835371599266684593854844291236719213968829929767124275560542017486807775001968495959118796663201946387674409974891171606016162674102559750375666120846426809703817764216265914018242077395543344022468413708327625825404525136565103936434212908888894197506008483476837161184085274346 - 0.000354579307553674494116952858019076182859675249656614075622182627085759383747562425071834680148112274885586933659690658822289833219770469027629772155956870693203692648053307870967398227584272168009687239905778153653968794422227548700515214621593249902664013888159701237635213335837037954061050477079745*I, -0.00702212730275852959453881557361567806515232797293801330061989466376174000049063548375404044789098522193167423111996698670664726120041199315069577200120041662735626452886850999491942955939858357015212718681464787844731492416975223517108892673523127587437233349221653390303755641250978350698162497213851 - 0.00424446057274640636719108625974430034964573822619077710116767947014697174750617072257197950683165850701870551196764715534958521867169531918983951229004476293828135159669810827908285293262930943623342447920624639459593608370964118071663461598409318251614160740179054266880080631575651501144019117609777*I, 0.00177704816009392726853789185836965562672476891288672108365948193483360248502057535659569570760905414798750814481329705222110622699908583028142455125228163456765124879354841854127464679588574174812823765473326298843313444410441431734541916376750002620435635076596124398091256375715975323624205673334842 + 0.00141482019091546878906369541991476678321524607539692570038922649004899058250205690752399316894388616900623517065588238511652840622389843972994650409668158764609378386556603609302761764420976981207780815973541546486531202790321372690554487199469772750538053580059684755626693543858550500381339705869926*I, 0.00439958773142622843153835371599266684593854844291236719213968829929767124275560542017486807775001968495959118796663201946387674409974891171606016162674102559750375666120846426809703817764216265914018242077395543344022468413708327625825404525136565103936434212908888894197506008483476837161184085274346 + 0.000354579307553674494116952858019076182859675249656614075622182627085759383747562425071834680148112274885586933659690658822289833219770469027629772155956870693203692648053307870967398227584272168009687239905778153653968794422227548700515214621593249902664013888159701237635213335837037954061050477079744*I],
[ -0.00735449407703048705986383709906648416275569116148271459043357140520360971341506835036093257446964063924583842643436186589975010742342314673590139646519782603023617616636436597526866157452373789609821182663235281080609023828218977770221798806228964788824794080386981092942672831985187819173719941957801 - 0.0186061234097798347991034146456600627304892406953846612277170894125875456880955996763012429319104444371324143855710304485049952309387610599542737829544505013650783248266146241032597634501473419580990654606376013524691829010094709217643784941709868151602176307150642819274279685890700419133105876499083*I, 0.0141549559009543492686880440129712728210561293804138135956474512185608322613845648684980366376559190372650755774760568535038405363824933325362905013563419542455417723152246063210605133174013733112954718573620691837383843451149077455070781833766389769277988528325861417754797374264049516086292532681925 + 0.00872896862050698653076006307234167015857930569696011407229409343912843215853245591310268301876158954042842765474680887121364792606484432071320260189370953930255358949830929279083052676813675800319295901041093001925004210092458892714039852505583692363478378342279567968963987385095117418499563815960895*I, 0.0308412317350692361190476346781662302030153107478109302862404443947161304685763069993153758310735198060348196854177639633750848905183117085835692116476593192099501771646196901778293621920730539635345532747761175300468356731704207753567949279420815900609826010837756624433705262559715078723980434583219 - 0.0137586964231796855495912933719059023507716567559370698113196806313647265081119017227313341850352908615667140259177495633151126782075232178730207474693164145821337794030540738003886652009409467799802411713622408385025515017294317876306225652520445812622116506461578249129132737029087893504075318860722*I, -0.00503889242593960235124895078647668969645333415401115677088601167387043314128474901838622987933367391587452420398830692454422449818879773348181770624558864373771793560862844927542943033603684907171260840932750921382423948047329360296597073928507390796337619373093227409573631096910682840868374639048320 + 0.0185433272484872336367102688999478850030389812276740513671029512182301687512154618111408734855345000722868791166963069264684975301377779332818231056582354830017845187493960949356293314719559477671176010456605578762682377890778835109033067242932046700317748025456589257756422651716931788362189297532904*I, 0.0116473834081752844991106398787182676855058472133859599197069815022848650659069931124311093140839268528952199039534001853270198559470206425654610040457287212266904692407666345813394185386348315805264730080865391324842118475822194268837460052803687051698075545202572465721544778604597278550850437996461 + 0.0135613078277350873583162441858089154807017418379191164225303719659742016110669891355581076599416750060046907008663208025259712479330333254383008705295009017591188418316477306833409944674536475005881597021429076746244522103833733407983126231143458893309506178910316137987726058111259011897072137344585*I, -1.09366830293345962381651118522322324564502903871684534135357149194839872379973707162629725831782941682765037882459872182525252443908675671270490720766085635496219999938084978547733797967097870880207088765187317943543810060327648491109981828647509582477816216272003103256187868854921206158830194872318e-303 + 0.00573542839862881163342721484292171819552803885518346125012286445580559871708933535133218966979285871143370084180454130844194280046483724150195106041613497835660694760493171653979170545140152765945842584489472518785668569516268634392395566096277436472895218301384781229673654446416919486843039104629491*I, 0.00680046182392386220882420691390478865830043821893109900521387981335722254796949651813710406318627839801923715104169498760409042895907018580038910489114412821530559614886024034579185174287763541519726003072971637293229410683271796780486019531434932903955091202871633084605300910655307341689205384861453 - 0.00590896280311313345448366123630607373067039793859040424168566915120596000941876137148247352454603643956767518918549278515161499577035998927852298213251434416116462868283985127820447547073788268372158690539722804293042307545357844556365063359179861819691137448460660678767534211025691426968062034409289*I, 0.0118393542498634645600731577003814783547537723729422557760998914872276556892542455365233339425199523138937613550300019121483149271478679192822068111367327719530235317574886896212212820789144844869098684400572255867565335873060115707708309345994232370029271057596486049417893200756599018255758002390977 - 0.0205707484176935298099459883376664489548476574087519329528919357115305157820854652230905727381941005469918270107882717255963471525745314439283965213821743746433401033574872037258743784237634676257650532299222164139152501628869121634603147617481085984919083736763763098881924283171601714838069677016104*I, 0.0141549559009543492686880440129712728210561293804138135956474512185608322613845648684980366376559190372650755774760568535038405363824933325362905013563419542455417723152246063210605133174013733112954718573620691837383843451149077455070781833766389769277988528325861417754797374264049516086292532681925 + 0.0165787022405735386258676952079414987786805645143067796419281049192871986572255962643515436792508439624274664914790656493771456085020075493077003672305116097235227402185235153130147164983398220994516132763759428148221705272004422692073704567160828867000840595843468978148778054436030492657225497015883*I, 0.00156959855629607979661273830576488829259917890536364637793495815454399878333749507565864955541657902114617149597678633623857085956942517560182559155455143375125459802350973603048055786656113343710125618943152070483573288663563222095180452671022088924305516705839269838068185592224607103771755101867974 + 0.00782587942910627572488902934288719728517370298273565517240750751016860289397765378422591799014881629457098985906177949408402844746819608393634981011336592340251189422671601414354928901605211984112973385724818248676776651522068699687435696215157152460199843487718380150203606134695670632127682268816361*I, -0.00754646491871866712082635492072969483200361632103901044682648139014640033676232077445315720290566610024437987751096359272104517862427042345264720355620187675656923868308642101515052511480339080248160725860303926507841197800598192158930291738134417972136749204326116929906157053505205216222795585902961 + 0.00379465758167539299280324394362796330609717797642719992217452212685279222781495637156580253384964072900233719425777731543006011379803400218597627721184725209680242556755734529581199119193634624692135848432694043521498034434041144742063436289432701986056328133690320095917395498177423405738409984840848*I, 0.000937973936482984972964665828488116842951103261664207298005511561731968412140076680408277768155413163223684177545870331938249820866047514369003905756061799267596705050948235709240536912205408293667742659844009346418439610897056097671527651386049382514936131253936196822643403643699152715826658449866665 - 0.000926943382360987176089636522167104208333158548835469297113089898949992869270288695899707698953211373285486773355506661209088713565615381435000747003779762918498951765091487025916138466235582417192145561879577841286637496759068275458656532412939837496087189829979294810805682749689636623168904325261036*I],
[ 0.0230259313028207565094529263832531206228156696167158861889974696152398010235550869893340260858374266372000157929868483701348150466256553565533730776794567544840219371097061674155516681020927306575616711232909500906214154035034612284512836723779160923040300463379676267025395271612559521595359142200190 + 0.0138757331925432023639202316478897807588034624417380988996034815538339413104499158730104449011491475106955469483456182524416357824218624426926325880693320281178503115447321016416980974060412785305695419868068123666047612249892792596420729025013277949726519103585796020396632160829466993709979060348105*I, -0.0199430781377484031769456769000868737547757082032990731937200254073578557864390077702643721051876104181653971524385948547776174240351893986841198203969709470262664874347542894014796880931098909835379717637407011049828054027090728582637724159862918026483409111424388311223620911429556546882233346257959 - 0.0328937863450515869323130348070615421765643805837011551249753576255168939866135116720949757262338145635670044928401353453917381643579256512862091514447475368840062896947946847471218173483463496674753885479107546330607862919276892403335456941835263196121806996518549271124003394675074402111818983675738*I, -0.0131317181481628525720990180698223645942748508644253385691179089834459922090207361167640005490743832587417256389735594398893125487905106780033095368597200702695060154107316932598704596576913602527505175824680869651261360136878280978724985346192522873080244714097385442771222436133013364414463101059037 - 0.0298571158322966554215530805547625864324326033669000344413663825691212069301306715974202198334566259402947184985912665199343265027392595650957433388803473938841661518892203384741798842697448106145680760223534039909768593512032583057298932437677320856944380067600432254478207980083463868904446288301614*I, -0.0122181970709087546188104279908107857654309584004056926508159774410767035081521434404213687019971105591760820297971154390955974352048292023583083799303879471290476192474355196198226173748525592974511978067446190800733542241393585874643849788303101827320665177302197555113734313115293351513350720523736 + 0.0123891032272136038399879502043117273317216385108089496470030286108528363739106609268807182641035238988667220623271582740723290809519162672962266543749879175360441184827341020406447591114352960758277487676270712557905827563397058589757303108382947950365085706890763938297027797305912724756726611784251*I, -0.00540683708132320401396376916054627660493010106153195802621386101716483993073387178692099714588388339975241051633208002420729255996015048167749809639313707037228714722341292347821338893943402856666374362547200494021668483511811382707311109746327066739175007799751946866613358378187501690455804753248128 - 0.00591172965758331867056969178291468621514343845507753214074008142632439213286646243960684266092680395155715774850604701273626377946963921176984772644838132595320891924418031913243792034799699255067086138578903216830243556785698228175668053896535380824953342800115419285675842929308998521808033050357072*I, -8.20251227200094717862383388917417434233771779037634006015178618961299042849802803719722943738372062620737784118449041368939393329315067534528680405745642266221649999535637339108003484753234031601553165738904884576578575452457363683324863714856321868583621622040023274421409016411909046191226461542381e-304 - 0.00132501859740305417298206472189482815396170795240444002612258425651412295644003723638705751241805031684141064602676934019074715770225321478532203501392515053533483669502962618760739248539989689959802955385407199494876015505769381321571822979679834035019138188703399773755978272712330547193103628513122*I, 0.00308285316507235333250724948316624686803996141341681299527744420788194523711607921906965398064981621903461864054825351535719762259046595786925325728248580745775544967495187801407198000898283967402369935955024898563861000079438837018751125639162428965568913519552879558017743601830029747131257959422305 - 0.0122187922462012599974864709284835869625483803772157726666845646602010399015735668491261876646353232482915440107714459032211072211688306934223299755639407256625805325098207303949009010530124704378684806458643365643582211045354170716053415088624826525834916990133296376301394803482267819326571552907312*I, 0.0153010502359811079513176774739770326334709198138225056460934216489586487452682226594910226826469267782107006703453689544527950577952951602275616372128737545868030689223873976338945973838353989714748971662948680657119642249337469576518962352219344723877556529257485510915508673298296326226476516465966 - 0.0137688327936265929843141437372044892795983336630877440976930867736156220215171519776712169203668882597350051190018547503092121813175506042163898544339967580806144772533970770667894958370080270360339999522419460956279695766102746055426513676152438865650910522356381310847585854550324083580691799717582*I, -0.0199430781377484031769456769000868737547757082032990731937200254073578557864390077702643721051876104181653971524385948547776174240351893986841198203969709470262664874347542894014796880931098909835379717637407011049828054027090728582637724159862918026483409111424388311223620911429556546882233346257959 - 0.0152554627589561915082464251807825427066801575940168933502935397165967269580564069238009435574125118715638300050203147286785188827874967796127957881283408686624206703153950766678428341316140094907757931714216872064421480452598480062089939592782768865012343919051413392947190218073878352533944248281436*I, -0.0298432312231407132515846251421678481357920178623433433278458158993182469470381586677637345498781045181045745759263109023984874303698088863941148562539129646303823857182839627178586236891391471615661392389612431003633932833968310020018810551238910328558831134579589796888804464049336872072281916372284 - 0.00458671106018026449758762706101985806118173050267309211461749716981026917642642520321978514850875363471574710247927767254551662176738599698452569143445617541787408254915069294483052786259709565107283183193496017335367541279928846854096230916855546789934204611412019511919864656596667974614929421843948*I, 0.00231804398551644454417147974872981138441464874136142251669018694911631234755299254292200625730661645923690460630939939147472742887020971464831334407344592952493172096390584630344368177882330311942303033152407708469276634345160044372627633969271095252452431541469960694485507604955130263233021504094111 - 0.00674454993729718959956220341969024066129755056487292913411983750523325008342357513555490201660402976055304112307514405368285921810385139303640542276639109309433992356460850387198547464911976663842914428447880285720917729719011797573492845583956512087764599062041794792510162003901612849706135453383027*I, 0.0153069901667155140886027174026272509859464107205762281603396515091252310913330226844203595905743774996915879398197960718281625662947699693874931322500790879764030455069425967945923245354632847446919111006925469355972727158058719708112197366008698975992922803130396172326519390438530494235629045439137 + 0.00608204063859566251307117105874282658431669658867070912105854537697618860520355651736137326039500460213233580006175938358748563925272478564374440525942851782667250521709369077818177840641981818863012950755176685973479721966127106912706934094116595070255029967690094905632172867545447576109583639126465*I],
[ 0.00212026934859964914871288408609707595930009591159598526055911440182932760003977684899298563478704600036509709456246023670835482048551326709477107539455284815266025523100693168814456477626718772604904731103763048959577419027264466280388941643641078471485047582121706255254979968106877635516397257308435 - 0.0181764234195459417190505914892524859517515658573386797789171462312116239609694978538629897605255661239514567916873042590029977859255244885061739971924900950804137891562380011322256604318814092426183683671616125491270717186221018553597490579938462776156027245910084796947395549331195082520236399466271*I, 0.00602130118290759552866993704976554500177014503773482240404501378191883545572732826079458804013271810963912471761396390642950671416813209164411949825162158266310998011872758828245584773365105372765231405829162753229062082498911770230481211398553632351437312135673028689297926751220415111033186158978583 + 0.00506465060201739571633395508377783523079019606098703041024691304283116628261572245772045128747134792319519731495180936002517933660693568373847817745793625591821485043230871774649689998409552293348381631598863329483842200050009503323023359209795081130952070783716552522768047772434237250529820512651706*I, 0.0283257434288296804121055163712563319256807719741312601372982839313339970229888667411643234301049644392866930595807760991347364976435549007660201437955920269577604309369242165061125204871385903627073508552417711083540316805017601348270272888149668634871934370693552726770166694109541571516553915053120 - 0.0131117728175285460027166364054746507209613697963516493686702331883804576783537753961425384730542182007562594767354948989778184493185888047676958197345538391621989387239292833857287604477858863091345520511729792542886497181220068221295154658958954663060820167538429544670590772087771357467254348201100*I, -0.00814157053150724467738282113586262096107024094933080766460412818374816305576710510978757367491976411000422181217642414313786153465364535873889057364617443081577023534973451997060041250991824145370136136932925802188639501526176236510870153042194710822922359717794734944552906719327292746549583416287018 + 0.0143029110826187188131531670604140990879946055376177280807231363522044922537052944685990829191927471160936811072474519891649682655034477931320653014174190365806423492248135479857719003625519205466013375866365715751328227654350690405947519496452134294614154858529794788743362161568758614591366657677698*I, 0.0141628717144148402060527581856281659628403859870656300686491419656669985114944333705821617150524822196433465297903880495673682488217774503830100718977960134788802154684621082530562602435692951813536754276208855541770158402508800674135136444074834317435967185346776363385083347054770785758276957526560 + 0.0116205370107816687176922732865151605912708809591628550945820296370213951217926101557917205239984570235733270533195568095140885612662300861223260873252131754993143197942733594393612802079884660880510923415751229219827468595610984442949913250458985444625617162140870024612100163287309403786609225365721*I, -4.64809028746720340122017253719869879399137341454659270075267884078069457614888255441176334785077502151751411000454456775732322886611871602899585563255863950858934999736861158827868641360165951240880127252046101260061192756392506087217422771751915725530718919156013188838798442633415126175028328207349e-303 + 0.00774702467385444581179484885767677372751392063944190339638801975801426341452840677052781368266563801571555136887970453967605904084415339074821739155014211699954287986284890629290752013865897739203406156105008194798849790637406562952999421669726569630837447747605800164080667755248729358577394835771474*I, 0.00814157053150724467738282113586262096107024094933080766460412818374816305576710510978757367491976411000422181217642414313786153465364535873889057364617443081577023534973451997060041250991824145370136136932925802188639501526176236510870153042194710822922359717794734944552906719327292746549583416287018 - 0.00655588640876427300135831820273732536048068489817582468433511659419022883917688769807126923652710910037812973836774744948890922465929440238384790986727691958109946936196464169286438022389294315456727602558648962714432485906100341106475773294794773315304100837692147723352953860438856787336271741005502*I, 0.0162831410630144893547656422717252419221404818986616153292082563674963261115342102195751473498395282200084436243528482862757230693072907174777811472923488616315404706994690399412008250198364829074027227386585160437727900305235247302174030608438942164584471943558946988910581343865458549309916683257404 - 0.0208587974913829918145114852631514244484752904357935527650582529463947210928821821666703521557198562164718108456151994386538774901627421955159132112846959561617418185867781896786362805864448637011686136122230612022771476244960724516595096825931611626144564942299009561078657547612644293324993831778248*I, 0.00602130118290759552866993704976554500177014503773482240404501378191883545572732826079458804013271810963912471761396390642950671416813209164411949825162158266310998011872758828245584773365105372765231405829162753229062082498911770230481211398553632351437312135673028689297926751220415111033186158978583 + 0.0116205370107816687176922732865151605912708809591628550945820296370213951217926101557917205239984570235733270533195568095140885612662300861223260873252131754993143197942733594393612802079884660880510923415751229219827468595610984442949913250458985444625617162140870024612100163287309403786609225365721*I, -0.00212026934859964914871288408609707595930009591159598526055911440182932760003977684899298563478704600036509709456246023670835482048551326709477107539455284815266025523100693168814456477626718772604904731103763048959577419027264466280388941643641078471485047582121706255254979968106877635516397257308435 + 0.00387351233692722290589742442883838686375696031972095169819400987900713170726420338526390684133281900785777568443985226983802952042207669537410869577507105849977143993142445314645376006932948869601703078052504097399424895318703281476499710834863284815418723873802900082040333877624364679288697417885736*I, -3.09872685831146893414678169146579919599424894303106180050178589385379638409925503627450889856718334767834274000302971183821548591074581068599723708837242633905956666491240772551912427573443967493920084834697400840040795170928337391478281847834610483687145946104008792559198961755610084116685552138233e-303 + 0.00774702467385444581179484885767677372751392063944190339638801975801426341452840677052781368266563801571555136887970453967605904084415339074821739155014211699954287986284890629290752013865897739203406156105008194798849790637406562952999421669726569630837447747605800164080667755248729358577394835771474*I, -0.00602130118290759552866993704976554500177014503773482240404501378191883545572732826079458804013271810963912471761396390642950671416813209164411949825162158266310998011872758828245584773365105372765231405829162753229062082498911770230481211398553632351437312135673028689297926751220415111033186158978582 - 0.00387351233692722290589742442883838686375696031972095169819400987900713170726420338526390684133281900785777568443985226983802952042207669537410869577507105849977143993142445314645376006932948869601703078052504097399424895318703281476499710834863284815418723873802900082040333877624364679288697417885736*I],
[ 0.0229803206240776308793253462208282184093931369572302827185900647608163039838297850058885893165443694715979641143239364894146450790034968185186403264641628950078770323486595862128769715189515663728067968303236373425093083533496507092418731269338634532967900866299318040864647575262638945431031249848143 - 0.00269404169535518437586335334703862574251438018049258112061298106806389635071807914340744866758453300092663261089981574815676873476479269615175999061391543800336822201925449280621092592920223139464354277299215048788217410859015201483585415253528432398232186518991947798168649284720824803115661262136109*I, -0.0145799195169531582040064709821422160712307271329413574585169940471766240152073271535584609407652291788813380830462414887234233909601919358727881021075576376109040432800205625627857938589966813229724419498185006554784576514758156754452048354806855524316908015495089042004416833289946728292189554321380 - 0.0253565636903100925701630143084588231874729423155846236180876504181509348704180798209568229978100997914642090620086592006135204145072674761936222190156099750277962342467728864398429309526359559736474950058196765490078795285689649033876356825515255015362979386589957640702870260571738645175779101259006*I, -0.0123590368196573710573751914869124274661366346173048643968878466670738880931697386024566651299721777723294241035370929760644034058337741064538717555019047604278621084227630778253892323980835925462761741386267279368952138992039612832970730880550153031331830329381720086288372182634509022306695717589233 - 0.0280506053856652769460263676554974489299873224960772047387006314862148312211361589643642716653946327923908416729084749487702891492720601723453822096295254130311644562660273792460538568818381873682910377788118270368900536371591169182234898350868098255186198038489152420519735189043821125487345227472617*I, -0.00840040110712447267531887523868600233816240982428892526007307071363967996862245785233012837577914029271662603127769500069122168804330488264585222435660525739697298906863902365009117765995488504983435488050513668703085070187383503379666829145317790086509928508042289988602307419726922171388416955267636 + 0.00647112869451433574157996350727532531667414053634125487019209262641173610400141258966567772262212746601622868608462299023289401472187182615873702868086452750743955739050755841181626009977451882447753481179673816473645834525328749626115107420465785357465121076809885899645324838220251744556016220545100*I, -0.00617951840982868552868759574345621373306831730865243219844392333353694404658486930122833256498608888616471205176854648803220170291688705322693587775095238021393105421138153891269461619904179627313808706931336396844760694960198064164853654402750765156659151646908600431441860913172545111533478587946164 - 0.0113312609974774540971498304807100987224792810675460212487373346750435192598500003387746871651127833952687882255544217262283758398712373900209311142008472685122140061137591968168160025117168622895019761164137630305628527099894064442758907650081205887769880367345381430443002666049828082432106487522697*I, 1.64050245440018943572476677783483486846754355807526801203035723792259808569960560743944588747674412524147556823689808273787878665863013506905736081149128453244329999907127467821600696950646806320310633147780976915315715090491472736664972742971264373716724324408004654884281803282381809238245292308476e-303 - 0.00755417399831830273143322032047339914831952071169734749915822311669567950656666689251645811007518893017919215036961448415225055991415826001395407613389817900814267074250613121121066834114457485966798407760917535370856847332627096285059384333874705918465869115635876202953351106998853882880709916817983*I, 0.00840040110712447267531887523868600233816240982428892526007307071363967996862245785233012837577914029271662603127769500069122168804330488264585222435660525739697298906863902365009117765995488504983435488050513668703085070187383503379666829145317790086509928508042289988602307419726922171388416955267634 - 0.0140253026928326384730131838277487244649936612480386023693503157431074156105680794821821358326973163961954208364542374743851445746360300861726911048147627065155822281330136896230269284409190936841455188894059135184450268185795584591117449175434049127593099019244576210259867594521910562743672613736308*I, 0.0168008022142489453506377504773720046763248196485778505201461414272793599372449157046602567515582805854332520625553900013824433760866097652917044487132105147939459781372780473001823553199097700996687097610102733740617014037476700675933365829063558017301985701608457997720461483945384434277683391053527 - 0.0204964313873469742145931473350240497816678017843798572395424083695191517145694920718478135553194438622116495225388604646180385893579019123314281334956272340230217855235212480348431885406936125086230537012026516831814851638328459553728959917480627663339611126925564800224400078343935737199274235790819*I, -0.0145799195169531582040064709821422160712307271329413574585169940471766240152073271535584609407652291788813380830462414887234233909601919358727881021075576376109040432800205625627857938589966813229724419498185006554784576514758156754452048354806855524316908015495089042004416833289946728292189554321380 - 0.0113312609974774540971498304807100987224792810675460212487373346750435192598500003387746871651127833952687882255544217262283758398712373900209311142008472685122140061137591968168160025117168622895019761164137630305628527099894064442758907650081205887769880367345381430443002666049828082432106487522698*I, -0.0229803206240776308793253462208282184093931369572302827185900647608163039838297850058885893165443694715979641143239364894146450790034968185186403264641628950078770323486595862128769715189515663728067968303236373425093083533496507092418731269338634532967900866299318040864647575262638945431031249848143 - 0.00377708699915915136571661016023669957415976035584867374957911155834783975328333344625822905503759446508959607518480724207612527995707913000697703806694908950407133537125306560560533417057228742983399203880458767685428423666313548142529692166937352959232934557817938101476675553499426941440354958408992*I, 9.11390252444549686513759321019352704704190865597371117794642909956998936499780893021914381931524514023041982353832268187710437032572297260587422673050713629135166666150708154564448316392482257335059073043227649529531750502730404092583181905395913187315135135600025860468232240457676717990251623935979e-304 - 0.00755417399831830273143322032047339914831952071169734749915822311669567950656666689251645811007518893017919215036961448415225055991415826001395407613389817900814267074250613121121066834114457485966798407760917535370856847332627096285059384333874705918465869115635876202953351106998853882880709916817982*I, 0.0145799195169531582040064709821422160712307271329413574585169940471766240152073271535584609407652291788813380830462414887234233909601919358727881021075576376109040432800205625627857938589966813229724419498185006554784576514758156754452048354806855524316908015495089042004416833289946728292189554321380 + 0.00377708699915915136571661016023669957415976035584867374957911155834783975328333344625822905503759446508959607518480724207612527995707913000697703806694908950407133537125306560560533417057228742983399203880458767685428423666313548142529692166937352959232934557817938101476675553499426941440354958408991*I]
]);
R<x> := PolynomialRing(Rationals());
ps := [ -16*x^5 - 40*x^4 + 32*x^3 + 88*x^2 - 32*x - 23, x^6 - x^5 + 1, x^6 + 3*x^4 + 3*x^2 + x + 1 ];
X := HyperellipticCurve(ps[3]);
eqsCC := EmbedCurveEquations(X, prec);
eqsF := DefiningEquations(X);
Q := PeriodMatrix(eqsCC, eqsF : MolinNeurohr := true);
Q := ChangeRing(Q, CC);
/* Find homomorphisms between Jacobians; these do indeed exist */
HomRep := GeometricHomomorphismRepresentationPartial(P, Q);
Ts := [ rep[1] : rep in HomRep ];
Rs := [ rep[2] : rep in HomRep ];
print "Basis of homomorphisms between Jacobians:";
print Rs;
M2 := ChangeRing(StandardSymplecticMatrix(2), Rationals());
M6 := ChangeRing(StandardSymplecticMatrix(6), Rationals());
R := Rs[1];
/* We find the degree via the property that phi_* phi^* = deg (phi) on divisors
* for any map phi between curves */
N := R*M6*Transpose(R)*M2^(-1);
test := IsScalar(N);
if test then
print "Degree, if corresponding to a morphism:";
print N[1,1];
end if;