g_math 0.6.7

Multi-domain fixed-point arithmetic with geometric extension: Lie groups, manifolds, ODE solvers, tensors, fiber bundles — pure Rust, zero-float, deterministic
Documentation
// @generated by scripts/generate_decomposition_refs.py: do not edit by hand.
// mpmath 120 digits, cross-checked against exact characteristic-polynomial roots.

pub struct Case {
    pub name: &'static str,
    pub rows: usize,
    pub cols: usize,
    /// Row-major entries; the stored value is `entry / 2^shift`.
    pub entries: &'static [i32],
    pub shift: u32,
}

/// Singular values, descending.
pub const SVD: &[(Case, &[&str])] = &[
    (Case { name: "rank6_8x8_consumer_report", rows: 8, cols: 8, entries: &[-5, 2, 9, -4, 3, -10, -3, 4, -2, 5, -8, -1, 6, -7, 0, 7, 1, 8, -5, 2, 9, -4, 3, -10, 4, -9, -2, 5, -8, -1, 6, -7, 7, -6, 1, 8, -5, 2, 9, -4, -10, -3, 4, -9, -2, 5, -8, -1, -7, 0, 7, -6, 1, 8, -5, 2, -4, 3, -10, -3, 4, -9, -2, 5], shift: 0 }, &["30.280707703943758828191224537142117387798309920929768556670698928313390950836818906543877774", "26.547066589245552100671089008090927680108741130380617613889901576967598680396151091163077410", "14.703636542915727180365051107499862805123747470103122028065914210555693614797672010497954795", "12.879111015087734431609418008949550849970708240142833634359072049789082290822232230491876078", "10.542449871654728205355059876671696734632710130298786238764475177216886595765227561991212406", "3.622198094114933557902928192812009314177412733136445347849850117173351888708164009753217123", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"]),
    (Case { name: "rank6_16x16", rows: 16, cols: 16, entries: &[-5, 2, 9, -4, 3, -10, -3, 4, -9, -2, 5, -8, -1, 6, -7, 0, -2, 5, -8, -1, 6, -7, 0, 7, -6, 1, 8, -5, 2, 9, -4, 3, 1, 8, -5, 2, 9, -4, 3, -10, -3, 4, -9, -2, 5, -8, -1, 6, 4, -9, -2, 5, -8, -1, 6, -7, 0, 7, -6, 1, 8, -5, 2, 9, 7, -6, 1, 8, -5, 2, 9, -4, 3, -10, -3, 4, -9, -2, 5, -8, -10, -3, 4, -9, -2, 5, -8, -1, 6, -7, 0, 7, -6, 1, 8, -5, -7, 0, 7, -6, 1, 8, -5, 2, 9, -4, 3, -10, -3, 4, -9, -2, -4, 3, -10, -3, 4, -9, -2, 5, -8, -1, 6, -7, 0, 7, -6, 1, -1, 6, -7, 0, 7, -6, 1, 8, -5, 2, 9, -4, 3, -10, -3, 4, 2, 9, -4, 3, -10, -3, 4, -9, -2, 5, -8, -1, 6, -7, 0, 7, 5, -8, -1, 6, -7, 0, 7, -6, 1, 8, -5, 2, 9, -4, 3, -10, 8, -5, 2, 9, -4, 3, -10, -3, 4, -9, -2, 5, -8, -1, 6, -7, -9, -2, 5, -8, -1, 6, -7, 0, 7, -6, 1, 8, -5, 2, 9, -4, -6, 1, 8, -5, 2, 9, -4, 3, -10, -3, 4, -9, -2, 5, -8, -1, -3, 4, -9, -2, 5, -8, -1, 6, -7, 0, 7, -6, 1, 8, -5, 2, 0, 7, -6, 1, 8, -5, 2, 9, -4, 3, -10, -3, 4, -9, -2, 5], shift: 0 }, &["54.281621725256612810851901848138353636241484402157621690065290167877656074588128790489904821", "49.363005001388065654124729734039391140491165701899370690204416834156609195086694453895134363", "27.058282954862018500938513763931117114815024930149847754099758696594249847647389036507017378", "25.498858597467395101969373779240496003672532044312887082436368917333578206892481269240827001", "20.739870874592450245439324344878230106345623092829138527532107955325891991147614005622033061", "17.134208151347084807544410888720330866809193792281875019974682480354412698800483014411114169", "14.558278311510692355834697579196567990712411531265394667822638606707268245756259091293350259", "13.249181057934338752819517590798993217183405835033264631967718315306880444015110933467664058", "12.278892195653253384622197305055476963686862854246115209073549848338148033630043673825256913", "11.375904291362648264479027513618006659442151954964437482151682964611939042370388974784820977", "10.940923798867368606389773633860878932210312588812867351468218185731951464039848700193230202", "10.609236467364832927311917121388107959357917006830439447484385070544578209874488223345807610", "9.060509237467324600803994469552909622418955520943901045731506994065885055203251456086763473", "2.951996488184321751956300254161513603649225566878360400374277952724559267868573449927428351", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"]),
    (Case { name: "rank3_8x8", rows: 8, cols: 8, entries: &[-6, -13, 5, -2, 7, -2, 6, 17, -9, 3, 1, -5, 4, 15, -6, -6, 9, -4, 9, 11, -13, 7, -6, -4, 1, 9, -4, -1, -2, 3, -4, -11, 7, 10, -4, 3, -7, -1, -4, -13, -1, 6, -8, -5, 5, -9, 4, -1, 0, -10, 8, 4, -2, 4, 0, 8, 8, 5, -6, 2, -3, -14, 4, -2], shift: 0 }, &["38.541328194734964507610031494610333739649794756049120921298352036200136820849573750193089643", "30.961172347383223429092766999476216753478883127711295449668050936581110819560837174926872711", "26.286342991396884306267340281824251878283100089592814132024377777231126479855005109017341198", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"]),
    (Case { name: "rank5_12x12", rows: 12, cols: 12, entries: &[18, 12, 19, -1, -4, 18, -10, 7, -19, -11, 1, -13, -11, -5, -1, -6, 1, -6, 0, -4, 17, -11, 1, -4, -22, 5, -7, 7, 15, -15, 0, 9, 15, 6, 1, 14, 5, 10, 14, -1, 2, 8, -9, 9, -5, -11, 2, -8, -9, -2, -3, -6, 4, -4, -1, -4, 8, -6, -1, -1, -7, -4, -12, -5, 14, -17, -2, 15, 8, 17, 2, 14, 14, -1, 7, 1, -13, 13, 2, -9, -11, -6, -1, -10, 17, -5, 0, -1, -12, 10, 4, -9, -15, 4, -2, -5, -16, -9, -11, 5, 0, -14, 9, -5, 21, 4, 1, 8, -8, -8, -8, -12, 0, -2, 2, -16, 6, -8, -4, -4, 3, 17, 13, 18, 3, 6, -4, 16, -9, 3, 3, 4, 8, -6, -2, -6, -1, -3, -1, 6, 0, 6, 2, 0], shift: 0 }, &["85.158198668300474296516503054550912241057415307206366768441653261068810771969681045949316260", "52.441356335877012074949670840067369866408939929162692225880010886641338924774647064680882001", "35.883941588951209068692473196609878534158003104268032995424189528996763328184498646341359587", "25.220327287503526012653399588876364924670911589427382196493825636583417885874392129509408410", "13.973659963509277525481366282107727171683465977801892836577681109558446841618974388105019846", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"]),
    (Case { name: "full_3x3", rows: 3, cols: 3, entries: &[1, 2, 3, 4, 5, 6, 7, 8, 10], shift: 0 }, &["17.412505166808594516759972444201697117661188620060895301247247908613411798229763291680227696", "0.875161350110435604584934095605970678588802552939681038110255512487299329420088658057611014", "0.196866521117430215984685558030866195631038499859613668662392132301110348007509367250171801"]),
    (Case { name: "rank1_3x3", rows: 3, cols: 3, entries: &[1, 2, 3, 2, 4, 6, 3, 6, 9], shift: 0 }, &["14.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"]),
    (Case { name: "near_singular_2x2", rows: 2, cols: 2, entries: &[1024, 1023, 1023, 1024], shift: 10 }, &["1.999023437500000000000000000000000000000000000000000000000000000000000000000000000000000000", "0.000976562500000000000000000000000000000000000000000000000000000000000000000000000000000000"]),
    (Case { name: "random_8x8_a", rows: 8, cols: 8, entries: &[8, -7, -4, -7, 0, -10, 2, -1, -6, 7, 4, -5, -9, -9, -7, -6, -4, -2, -10, -2, 5, 4, -5, 5, -7, 3, -1, -4, 0, 7, -2, -6, -1, -7, -1, 4, -6, -1, -6, -5, -10, 0, -7, -6, 0, -4, 7, 9, -8, 7, 9, 8, -3, -5, -6, 6, -4, -1, 5, 1, 3, -2, -10, -1], shift: 0 }, &["26.351738699618907834398060428770364419145706070931312838602893213205474954486291969448241012", "20.684645054897717637097521433119763503630396565323186977376548368716111147083667424447319178", "18.886125866322208497621801881726423222561751660627042219371843385028093373054386814158172065", "16.225929254520039238330143148813898405613581686321293378455436425291382270495443359768276044", "13.902526401108139701945432359967885710483400956191750730738668070068201130181936572462377912", "9.308730804077908756810186353256256073489000279013781860982023985211815616551390934409097743", "5.459042111185909520434608221220755113008668096004434604546698098891720685578593729437417923", "0.175914071778401426224982821543281735728860733830875329336900112788232107898891896507539631"]),
    (Case { name: "random_8x8_b", rows: 8, cols: 8, entries: &[2, -9, -7, 7, -10, -4, -7, -4, 1, -9, -5, 4, 8, -3, 9, 8, -2, 7, 3, 5, 2, -6, 9, -5, -1, -7, 9, 7, -1, -9, -3, -5, 3, -6, -7, -5, -3, -3, 3, -1, 0, 7, 5, 9, -6, -1, -10, -7, 8, 7, -9, -1, -2, -10, 2, -4, -8, 7, 3, -10, 0, 1, 9, 9], shift: 0 }, &["30.255666550608426681484611774970917680510033192096237478464657640269723841335879851887744874", "23.627699159631920052143041462670099124625524537911685418785790988065303380755917129123616017", "19.773884241692009028791297976763854818919568479020208850985125721709144105032732691127924986", "18.423895986653301313335971856425067036140617050778380513258464941733448452038811210331377458", "11.111744208697345055064633664908728910666817546803082915261874343268171731459190670344328345", "8.042889253943807419429115266569895297440886065378654794632970226656445210645736042254958872", "5.793393240212645701188030636966681300771705110580146997272247837336179520279857848506115322", "0.397115251536534126078187278064086498640074278677135170382845914080163672696719651136982656"]),
    (Case { name: "random_8x8_c", rows: 8, cols: 8, entries: &[1, -1, 5, 0, -10, 0, 0, -7, -4, 6, 4, -7, 5, -7, 5, 6, -3, 9, -10, -5, -1, -4, 8, 6, -10, -5, 2, -5, 4, 3, -4, -3, -8, -6, 3, -3, 7, -4, -3, -5, 8, -3, 7, 1, 4, -6, -2, 3, 3, 4, 9, 7, -3, -6, 4, 5, 4, 1, 9, -10, 3, -8, 3, -1], shift: 0 }, &["24.403650586548936023330771344305437822376019097634828142684976453295870349292322469982190458", "22.561087351420536981284964976174430341111041189770462472603744824187130987106516390283787843", "21.734200176051582080249612847320005297924833514719066567862196886238588544300060928061202744", "13.072223193110460715880530829668082424801097601082865685386854475560647957858194689861111550", "10.366468461889642002708696632958304209206369852311014340059943067813345216142640196839803919", "5.512516382702623738049422063277021929130909392892236828024100562427929057034263258385113543", "2.211965082752468849774096416076982444217551008960880533141471018270129779920233197570511269", "0.675577012481037112260603827619210358568540874387996181617187749529753433210403261638344990"]),
    (Case { name: "tall_6x4", rows: 6, cols: 4, entries: &[-2, -6, -10, -9, 2, -1, 3, -2, -4, 5, 5, -3, -6, -4, 2, 7, 6, -6, -8, 3, -8, 0, 1, -4], shift: 0 }, &["17.884174559015918377498592952458602664293407402307564911679276413349390320882527746120885820", "14.123420106570500690757621476350842183501430362097673880108676149701422557832525021949248714", "10.593797249114936336994967089442861009744179814793450805037226587560256844479676655266299104", "3.668346314160196059377917355645114646625290340784526932636160068379657896860227715294939586"]),
    (Case { name: "wide_4x6", rows: 4, cols: 6, entries: &[4, -1, 9, -4, -10, -2, -7, -1, -9, 7, -3, -10, 4, 8, 9, 0, 5, 2, 7, -8, -9, 3, 3, -3], shift: 0 }, &["22.689774691568051676085024418091472067706176649469844857604021036888104799261257164942989930", "13.825049788665300820954422704287105349241379619514855594206667545730361299682021227092647240", "12.545208538324770769188166093748644675746482642794746883353034972871093722454882952695742117", "7.393231060689684345048493939827147473584240936629120563808828227031045014174171583731853626"]),
    (Case { name: "bidiagonal_3x3_interior_zero", rows: 3, cols: 3, entries: &[3, 1, 0, 0, 0, 1, 0, 0, 2], shift: 0 }, &["3.162277660168379331998893544432718533719555139325216826857504852792594438639238221344248108", "2.236067977499789696409173668731276235440618359611525724270897245410520925637804899414414408", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"]),
    (Case { name: "bidiagonal_4x4_interior_zero", rows: 4, cols: 4, entries: &[4, 1, 0, 0, 0, 0, 2, 0, 0, 0, 3, 1, 0, 0, 0, 2], shift: 0 }, &["4.123105625617660549821409855974077025147199225373620434398633573094954346337621593587863651", "3.741657386773941385583748732316549301756019807778726946303745467320035156306939027976809895", "2.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"]),
    (Case { name: "bidiagonal_5x5_interior_zero", rows: 5, cols: 5, entries: &[2, 1, 0, 0, 0, 0, 5, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 1], shift: 0 }, &["5.208618180440279423407387955487134211676170565226082298980644021920442242334023811262586595", "3.710118871824841395299773277867618501976140054790747051063760263595173720593629264600490289", "1.967306953778945188865024440225585220514022770450251955412288334554914923378509554516967309", "1.111313617719663374841200303152472348419222914736705115234486916498203352979653897764992138", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"]),
    (Case { name: "rank6_8x8_over_64", rows: 8, cols: 8, entries: &[-5, 2, 9, -4, 3, -10, -3, 4, -2, 5, -8, -1, 6, -7, 0, 7, 1, 8, -5, 2, 9, -4, 3, -10, 4, -9, -2, 5, -8, -1, 6, -7, 7, -6, 1, 8, -5, 2, 9, -4, -10, -3, 4, -9, -2, 5, -8, -1, -7, 0, 7, -6, 1, 8, -5, 2, -4, 3, -10, -3, 4, -9, -2, 5], shift: 6 }, &["0.473136057874121231690487883392845584184348592514527633697979670754896733606825295414748090", "0.414797915456961751572985765751420745001699080162197150217029712140118729381189860799423085", "0.229744320983058237193203923554685356330058554220361281688529909539932712731213625164030544", "0.201236109610745850493897156389836732030792316252231775536860500777954410794097378601435564", "0.164725779244605128208672810572995261478636095785918534980694924644013853058831680656112694", "0.056596845220545836842233253012687645534022073955256958560153908080833623261065062652394018", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"]),
    (Case { name: "rank6_8x8_times_60", rows: 8, cols: 8, entries: &[-300, 120, 540, -240, 180, -600, -180, 240, -120, 300, -480, -60, 360, -420, 0, 420, 60, 480, -300, 120, 540, -240, 180, -600, 240, -540, -120, 300, -480, -60, 360, -420, 420, -360, 60, 480, -300, 120, 540, -240, -600, -180, 240, -540, -120, 300, -480, -60, -420, 0, 420, -360, 60, 480, -300, 120, -240, 180, -600, -180, 240, -540, -120, 300], shift: 0 }, &["1816.842462236625529691473472228527043267898595255786113400241935698803457050209134392632666429", "1592.823995354733126040265340485455660806524467822837056833394094618055920823769065469784644590", "882.218192574943630821903066449991768307424848206187321683954852633341616887860320629877287695", "772.746660905264065896565080536973050998242494408570018061544322987344937449333933829512564675", "632.546992299283692321303592600301804077962607817927174325868510633013195745913653719472744379", "217.331885646896013474175691568720558850644763988186720870991007030401113322489840585193027355", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"]),
];

/// Eigenvalues of symmetric matrices, ascending.
pub const EIGEN: &[(Case, &[&str])] = &[
    (Case { name: "spd_3x3", rows: 3, cols: 3, entries: &[4, 1, 2, 1, 3, 1, 2, 1, 5], shift: 0 }, &["2.307978528369904130372185102997930859802739400678105878644927090011450231029930792698952880", "2.643104132107790556105600489978699416600872813265375610516849185395977623201214707146439196", "7.048917339522305313522214407023369723596387786056518510838223724592572145768854500154607924"]),
    (Case { name: "swap_2x2", rows: 2, cols: 2, entries: &[0, 1, 1, 0], shift: 0 }, &["-1.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "1.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"]),
    (Case { name: "zero_diagonal_4x4", rows: 4, cols: 4, entries: &[0, 2, 0, 1, 2, 0, 3, 0, 0, 3, 0, 4, 1, 0, 4, 0], shift: 0 }, &["-5.398345637668169028408067213163994769160173498936742551128402098203115364277043120758662517", "-0.926209682668589635589719875701442298278936779713691102586607607382073513001433321929833700", "0.926209682668589635589719875701442298278936779713691102586607607382073513001433321929833700", "5.398345637668169028408067213163994769160173498936742551128402098203115364277043120758662517"]),
    (Case { name: "rank1_ones_4x4", rows: 4, cols: 4, entries: &[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], shift: 0 }, &["0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "4.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"]),
    (Case { name: "repeated_4x4", rows: 4, cols: 4, entries: &[2, 1, 0, 0, 1, 2, 0, 0, 0, 0, 2, 1, 0, 0, 1, 2], shift: 0 }, &["1.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "1.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "3.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "3.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"]),
    (Case { name: "symmetrised_rank6_8x8", rows: 8, cols: 8, entries: &[-10, 0, 10, 0, 10, -20, -10, 0, 0, 10, 0, -10, 0, -10, 0, 10, 10, 0, -10, 0, 10, 0, 10, -20, 0, -10, 0, 10, 0, -10, 0, -10, 10, 0, 10, 0, -10, 0, 10, 0, -20, -10, 0, -10, 0, 10, 0, -10, -10, 0, 10, 0, 10, 0, -10, 0, 0, 10, -20, -10, 0, -10, 0, 10], shift: 0 }, &["-36.955181300451470245127327575871531472896665034545699444603909251221400300044094348593597394", "-28.284271247461900976033774484193961571393437507538961463533594759814649569242140777007750687", "-15.307337294603590869138399361215954670453782499425081657352025425101841358403587689480551414", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "15.307337294603590869138399361215954670453782499425081657352025425101841358403587689480551414", "28.284271247461900976033774484193961571393437507538961463533594759814649569242140777007750687", "36.955181300451470245127327575871531472896665034545699444603909251221400300044094348593597394"]),
    (Case { name: "gram_rank3_8x8", rows: 8, cols: 8, entries: &[612, -110, -188, -372, -490, -42, 276, -150, -110, 429, -26, 146, 7, -89, -38, -307, -188, -26, 569, 41, 180, -308, 178, -55, -372, 146, 41, 249, 280, 48, -198, 45, -490, 7, 180, 280, 409, 41, -214, 181, -42, -89, -308, 48, 41, 249, -198, 189, 276, -38, 178, -198, -214, -198, 264, -156, -150, -307, -55, 45, 181, 189, -156, 354], shift: 0 }, &["0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "690.971827861360100085734312331247084069557902375288123326972021279921091616308801732095084301", "958.594193124367581680245846040400030280260264376902331093616613094185841421641312092900473971", "1485.433979014272318234019841628352885650181833247809545579411365625893066962049886175004441728"]),
    (Case { name: "random_symmetric_8x8", rows: 8, cols: 8, entries: &[-10, -8, 7, 1, -7, -8, 1, -8, -8, 8, -8, 6, -9, 3, 5, 6, 7, -8, 4, -2, 3, -3, -10, 2, 1, 6, -2, -1, -10, -9, 9, -8, -7, -9, 3, -10, 0, -6, -9, -2, -8, 3, -3, -9, -6, 8, 8, 9, 1, 5, -10, 9, -9, 8, 3, -7, -8, 6, 2, -8, -2, 9, -7, -3], shift: 0 }, &["-24.223418684148348803720916113880970256996028539213502998891843203294211201307872271554951024", "-15.900504499151353538198326284831417750560015295003451112955368300611335859917774337072948896", "-12.333185343259472630733972572364562059637158479069607096857102104421122717701743667218290568", "-8.899483248370676173666901210559890866693660166451264239922978641287168791716449706759060845", "4.760908828278127704501079627743107364920761443740669240861075462428139373983119330576284580", "7.553400693046704675594207270156839267759752987344959292940437286290910196076349171355449962", "24.126332569707115579501458178726276507491547371009507953217604647236793382764758947276072938", "33.915949683897903186723371105010617793714800677642688961608174853657995617819612533397443852"]),
];

/// Eigenvalues as (re, im), sorted by (re, im).
pub const SCHUR: &[(Case, &[(&str, &str)])] = &[
    (Case { name: "symmetric_3x3", rows: 3, cols: 3, entries: &[4, 1, 2, 1, 3, 1, 2, 1, 5], shift: 0 }, &[("2.307978528369904130372185102997930859802739400678105878644927090011450231029930792698952880", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"), ("2.643104132107790556105600489978699416600872813265375610516849185395977623201214707146439196", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"), ("7.048917339522305313522214407023369723596387786056518510838223724592572145768854500154607924", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")]),
    (Case { name: "real_pair_2x2", rows: 2, cols: 2, entries: &[3, 1, 1, 2], shift: 0 }, &[("1.381966011250105151795413165634361882279690820194237137864551377294739537181097550292792796", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"), ("3.618033988749894848204586834365638117720309179805762862135448622705260462818902449707207204", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")]),
    (Case { name: "full_3x3", rows: 3, cols: 3, entries: &[1, 2, 3, 4, 5, 6, 7, 8, 10], shift: 0 }, &[("-0.905740179521758467305096106420815706893169479956670604925411436822074301345974735620908702", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"), ("0.198246863397010127901365012703139191678980914257393013385073015190667158491773295562143298", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"), ("16.707493316124748339403731093717676515214188565699277591540338421631407142854201440058765404", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")]),
    (Case { name: "cyclic_3x3", rows: 3, cols: 3, entries: &[0, 0, 1, 1, 0, 0, 0, 1, 0], shift: 0 }, &[("-0.500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "-0.866025403784438646763723170752936183471402626905190314027903489725966508454400018540573093"), ("-0.500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "0.866025403784438646763723170752936183471402626905190314027903489725966508454400018540573093"), ("1.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")]),
    (Case { name: "cyclic_4x4", rows: 4, cols: 4, entries: &[0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0], shift: 0 }, &[("-1.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"), ("0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "-1.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"), ("0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "1.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"), ("1.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")]),
    (Case { name: "rotation_plus_2", rows: 3, cols: 3, entries: &[0, -1, 0, 1, 0, 0, 0, 0, 2], shift: 0 }, &[("0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "-1.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"), ("0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "1.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"), ("2.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")]),
    (Case { name: "jordan_2x2", rows: 2, cols: 2, entries: &[2, 1, 0, 2], shift: 0 }, &[("2.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"), ("2.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")]),
    (Case { name: "upper_3x3", rows: 3, cols: 3, entries: &[1, 2, 3, 0, 4, 5, 0, 0, 6], shift: 0 }, &[("1.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"), ("4.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"), ("6.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")]),
    (Case { name: "companion_4x4", rows: 4, cols: 4, entries: &[10, -35, 50, -24, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0], shift: 0 }, &[("1.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"), ("2.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"), ("3.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"), ("4.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")]),
    (Case { name: "rank6_8x8_consumer_report", rows: 8, cols: 8, entries: &[-5, 2, 9, -4, 3, -10, -3, 4, -2, 5, -8, -1, 6, -7, 0, 7, 1, 8, -5, 2, 9, -4, 3, -10, 4, -9, -2, 5, -8, -1, 6, -7, 7, -6, 1, 8, -5, 2, 9, -4, -10, -3, 4, -9, -2, 5, -8, -1, -7, 0, 7, -6, 1, 8, -5, 2, -4, 3, -10, -3, 4, -9, -2, 5], shift: 0 }, &[("-10.534088493485595140740036451338471086584593062933646803618544274224448296922522831840235927", "-8.754546149725584811736256283587614633207580707578632594812784688062558804690988618496784396"), ("-10.534088493485595140740036451338471086584593062933646803618544274224448296922522831840235927", "8.754546149725584811736256283587614633207580707578632594812784688062558804690988618496784396"), ("0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"), ("0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"), ("0.080592135860774178102189417023779275728393371698865440342414548390627821303594701922259598", "-2.795117571503483918125379819176606180645716429945283681994021339257493487898740206507249364"), ("0.080592135860774178102189417023779275728393371698865440342414548390627821303594701922259598", "2.795117571503483918125379819176606180645716429945283681994021339257493487898740206507249364"), ("10.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"), ("10.906992715249641925275694068629383621712399382469562726552259451667640951237856259835952658", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")]),
    (Case { name: "rank3_8x8", rows: 8, cols: 8, entries: &[-6, -13, 5, -2, 7, -2, 6, 17, -9, 3, 1, -5, 4, 15, -6, -6, 9, -4, 9, 11, -13, 7, -6, -4, 1, 9, -4, -1, -2, 3, -4, -11, 7, 10, -4, 3, -7, -1, -4, -13, -1, 6, -8, -5, 5, -9, 4, -1, 0, -10, 8, 4, -2, 4, 0, 8, 8, 5, -6, 2, -3, -14, 4, -2], shift: 0 }, &[("-27.734087561773768325040498155374324810693673738833315533445401279500857838560216022136094829", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"), ("-3.707108985281219401531384579708940808196717693783195507600401561870832383559570402025537709", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"), ("0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"), ("0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"), ("0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"), ("0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"), ("0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"), ("18.441196547054987726571882735083265618890391432616511041045802841371690222119786424161632539", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")]),
    (Case { name: "random_6x6", rows: 6, cols: 6, entries: &[5, 0, 2, -5, -2, -5, -1, -4, -5, -2, 0, 3, 5, -2, 4, 2, 2, 1, 5, 0, -1, -2, -5, 2, 1, 1, -3, 4, 0, 2, -4, 4, 1, 0, -3, 3], shift: 0 }, &[("-7.110849880662880603097150745828419221022602651188142133160337448409772383580201246142426235", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"), ("-0.795959191138178283805080416671697468382796532137922422648745053250224970854436124629658393", "-7.429393500227335734374364958388277476106442045080260678012982835800763144542228029093341645"), ("-0.795959191138178283805080416671697468382796532137922422648745053250224970854436124629658393", "7.429393500227335734374364958388277476106442045080260678012982835800763144542228029093341645"), ("0.559687850202364529032528443628583398998812342016050079557372839007571215098082844351255644", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"), ("4.598295859466220231640158999034632348905670677678708027094487965904033866459002672955193537", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"), ("9.544784553270652410034624136508598409883712695769228871805966749998617243731987978095293841", "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")]),
];