MatrixDataProvider.php 194 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610
  1. <?php
  2. namespace MathPHP\Tests\LinearAlgebra\Fixture;
  3. use MathPHP\Expression\Polynomial;
  4. use MathPHP\Number\Complex;
  5. trait MatrixDataProvider
  6. {
  7. /**************************************************************************
  8. * MATRIX PROPERTIES
  9. * - dataProviderForSquareMatrix
  10. * - dataProviderForSquareMatrixGreaterThanOne
  11. * - dataProviderForNotSquareMatrix
  12. * - dataProviderForSymmetricMatrix
  13. * - dataProviderForNotSymmetricMatrix
  14. * - dataProviderForSkewSymmetricMatrix
  15. * - dataProviderForSingularMatrix
  16. * - dataProviderForNonsingularMatrix
  17. * - dataProviderForTwoNonsingularMatrices
  18. * - dataProviderForPositiveDefiniteMatrix
  19. * - dataProviderForNotPositiveDefiniteMatrix
  20. * - dataProviderForPositiveSemidefiniteMatrix
  21. * - dataProviderForNotPositiveSemidefiniteMatrix
  22. * - dataProviderForNegativeDefiniteMatrix
  23. * - dataProviderForNotNegativeDefiniteMatrix
  24. * - dataProviderForNegativeSemidefiniteMatrix
  25. * - dataProviderForNotNegativeSemidefiniteMatrix
  26. * - dataProviderForNotSquareAndSymmetricMatrix
  27. * - dataProviderForUpperTriangularMatrix
  28. * - dataProviderForNotTriangularMatrix
  29. * - dataProviderForLowerTriangularMatrix
  30. * - dataProviderForDiagonalMatrix
  31. * - dataProviderForNotDiagonalMatrix
  32. * - dataProviderForRectangularDiagonalMatrix
  33. * - dataProviderForNotRectangularDiagonalMatrix
  34. * - dataProviderForRefMatrix
  35. * - dataProviderForNotRefMatrix
  36. * - dataProviderForRrefMatrix
  37. * - dataProviderForTwoSquareMatrices
  38. * - dataProviderForThreeMatrices
  39. * - dataProviderForFourMatrices
  40. * - dataProviderForSolve
  41. * - dataProviderForTwoPositiveDefiniteMatrices
  42. * - dataProviderForIdempotentMatrix
  43. * - dataProviderForNotIdempotentMatrix
  44. * - dataProviderForNilpotentMatrix
  45. * - dataProviderForNotNilpotentMatrix
  46. * - dataProviderForInvolutoryMatrix
  47. * - dataProviderForNotInvolutoryMatrix
  48. * - dataProviderForSignatureMatrix
  49. * - dataProviderForNotSignatureMatrix
  50. * - dataProviderForHilbertMatrix
  51. * - dataProviderForUpperBidiagonalMatrix
  52. * - dataProviderForNotUpperBidiagonalMatrix
  53. * - dataProviderForLowerBidiagonalMatrix
  54. * - dataProviderForNotLowerBidiagonalMatrix
  55. * - dataProviderForBidiagonalMatrix
  56. * - dataProviderForNotBidiagonalMatrix
  57. * - dataProviderForTridiagonalMatrix
  58. * - dataProviderForNotTridiagonalMatrix
  59. * - dataProviderForUpperHessenbergMatrix
  60. * - dataProviderForNotUpperHessenbergMatrix
  61. * - dataProviderForLowerHessenbergMatrix
  62. * - dataProviderForNotLowerHessenbergMatrix
  63. * - dataProviderForIdentityMatrix
  64. * - dataProviderForSingleMatrix
  65. * - dataProviderForOrthogonalMatrix
  66. * - dataProviderForNonOrthogonalMatrix
  67. * - dataProviderForNonNormalMatrix
  68. * - dataProviderForMatrixWithWeirdNumbers
  69. * - dataProviderForObjectMatrix
  70. * - dataProviderForObjectSquareMatrix
  71. * - dataProviderForComplexObjectMatrix
  72. * - dataProviderForComplexSquareObjectMatrix
  73. **************************************************************************/
  74. public function dataProviderForSquareMatrix(): array
  75. {
  76. return [
  77. [
  78. [
  79. [1]
  80. ]
  81. ],
  82. [
  83. [
  84. [1, 2],
  85. [2, 3],
  86. ]
  87. ],
  88. [
  89. [
  90. [-1, 2],
  91. [-2, 3],
  92. ]
  93. ],
  94. [
  95. [
  96. [5, 12],
  97. [6, -5],
  98. ]
  99. ],
  100. [
  101. [
  102. [1, 5],
  103. [4, 3],
  104. ],
  105. ],
  106. [
  107. [
  108. [5, 6],
  109. [2, 1],
  110. ],
  111. ],
  112. [
  113. [
  114. [1, 0, 5],
  115. [4, 2, 0],
  116. [3, 0, 3],
  117. ],
  118. ],
  119. [
  120. [
  121. [1, 2, 3],
  122. [4, 5, 6],
  123. [7, 8, 9],
  124. ]
  125. ],
  126. [
  127. [
  128. [7, -2, 13],
  129. [5, 0, 4],
  130. [6, -2, 1],
  131. ]
  132. ],
  133. [
  134. [
  135. [3, 8, 5],
  136. [3, 6, 1],
  137. [9, 5, 8],
  138. ],
  139. ],
  140. [
  141. [
  142. [5, 3, 8],
  143. [6, 4, 5],
  144. [1, 8, 9],
  145. ],
  146. ],
  147. [
  148. [
  149. [-4, -2, 9],
  150. [3, 14, -6],
  151. [3, 9, 9],
  152. ],
  153. ],
  154. [
  155. [
  156. [8, 7, 8],
  157. [-5, 4, 1],
  158. [3, 5, 1],
  159. ],
  160. ],
  161. [
  162. [
  163. [1, 2, 3, 2],
  164. [4, 5, 6, 2],
  165. [7, 8, 9, 2],
  166. [4, 5, 5, 6],
  167. ]
  168. ],
  169. [
  170. [
  171. [7, 8, 9, 2],
  172. [1, 2, 3, 2],
  173. [4, -3, 2, 12],
  174. [4, 1, -6, 6],
  175. ]
  176. ],
  177. [
  178. [
  179. [4, 7, 7, 8],
  180. [3, 6, 4, 1],
  181. [-3, 6, 8, -3],
  182. [3, 2, 1, -54],
  183. ],
  184. ],
  185. [
  186. [
  187. [3, 2, 6, 7],
  188. [4, 3, -6, 2],
  189. [12, 14, 14, -6],
  190. [4, 6, 4, -42],
  191. ],
  192. ],
  193. [
  194. [
  195. [-5, -12, 12, -13],
  196. [0, -5, -1, -3,],
  197. [13, -20, -12, -8],
  198. [16, -18, 11, -14],
  199. ]
  200. ],
  201. [
  202. [
  203. [11, 11, -8, -18, 17],
  204. [-19, -20, 6, -10, 0],
  205. [3, -17, 10, 14, -20],
  206. [-14, 7, -4, 0, 5],
  207. [-15, -18, -4, -14, -6],
  208. ]
  209. ],
  210. [
  211. [
  212. [-7, 14, 15, 14, 2],
  213. [1, -10, 11, 17, -20],
  214. [3, -18, 9, 13, -19],
  215. [-17, -3, 5, -9, -6],
  216. [1, -2, -9, -19, 7],
  217. ]
  218. ],
  219. [
  220. [
  221. [-17, -3, 0, 1, -8],
  222. [-7, 9, 16, 0, -5],
  223. [3, 6, -6, 16, -5],
  224. [-1, -5, -10, 14, 16],
  225. [18, 5, 20, -17, -15],
  226. ]
  227. ],
  228. [
  229. [
  230. [10, -18, 19, -5, 7],
  231. [-18, 18, -15, -19, 16],
  232. [-11, -14, -15, 12, -13],
  233. [-3, 4, 1, -13, -17],
  234. [17, 17, -15, 17, -13],
  235. ]
  236. ],
  237. [
  238. [
  239. [-8, 11, -9, 4, 19],
  240. [-20, 20, 16, 14, -9],
  241. [1, -11, 14, -2, 4],
  242. [11, -10, 9, -2, -5],
  243. [9, -5, -20, -19, 3],
  244. ]
  245. ],
  246. [
  247. [
  248. [1, 9, -10, 14, -2],
  249. [-1, -14, 3, 6, 0],
  250. [-2, 5, -5, 19, -5],
  251. [-12, 8, -18, 0, 14],
  252. [19, -3, 16, 15, 3],
  253. ]
  254. ],
  255. [
  256. [
  257. [-18, -13, 1, 3, -8],
  258. [9, 18, 20, 18, 8],
  259. [-16, 2, 12, -5, -11],
  260. [-9, 20, -6, 4, 9],
  261. [-16, 1, -17, 20, 5],
  262. ]
  263. ],
  264. [
  265. [
  266. [8, -14, 6, -5, 11],
  267. [-20, -5, -2, -13, -6],
  268. [0, 17, -7, -9, -15],
  269. [10, -12, 13, 15, 3],
  270. [1, 16, -1, 9, 11],
  271. ]
  272. ],
  273. [
  274. [
  275. [-9, -9, 14, -6, -8],
  276. [3, -1, 18, 15, 4],
  277. [-10, -3, 18, -12, 7],
  278. [-7, 4, -17, -11, -7],
  279. [7, -2, -7, 12, 8],
  280. ]
  281. ],
  282. ];
  283. }
  284. public function dataProviderForSquareMatrixGreaterThanOne(): array
  285. {
  286. return [
  287. [
  288. [
  289. [1, 2],
  290. [2, 3],
  291. ]
  292. ],
  293. [
  294. [
  295. [-1, 2],
  296. [-2, 3],
  297. ]
  298. ],
  299. [
  300. [
  301. [5, 12],
  302. [6, -5],
  303. ]
  304. ],
  305. [
  306. [
  307. [1, 5],
  308. [4, 3],
  309. ],
  310. ],
  311. [
  312. [
  313. [5, 6],
  314. [2, 1],
  315. ],
  316. ],
  317. [
  318. [
  319. [1, 0, 5],
  320. [4, 2, 0],
  321. [3, 0, 3],
  322. ],
  323. ],
  324. [
  325. [
  326. [1, 2, 3],
  327. [4, 5, 6],
  328. [7, 8, 9],
  329. ]
  330. ],
  331. [
  332. [
  333. [7, -2, 13],
  334. [5, 0, 4],
  335. [6, -2, 1],
  336. ]
  337. ],
  338. [
  339. [
  340. [3, 8, 5],
  341. [3, 6, 1],
  342. [9, 5, 8],
  343. ],
  344. ],
  345. [
  346. [
  347. [5, 3, 8],
  348. [6, 4, 5],
  349. [1, 8, 9],
  350. ],
  351. ],
  352. [
  353. [
  354. [-4, -2, 9],
  355. [3, 14, -6],
  356. [3, 9, 9],
  357. ],
  358. ],
  359. [
  360. [
  361. [8, 7, 8],
  362. [-5, 4, 1],
  363. [3, 5, 1],
  364. ],
  365. ],
  366. [
  367. [
  368. [1, 2, 3, 2],
  369. [4, 5, 6, 2],
  370. [7, 8, 9, 2],
  371. [4, 5, 5, 6],
  372. ]
  373. ],
  374. [
  375. [
  376. [7, 8, 9, 2],
  377. [1, 2, 3, 2],
  378. [4, -3, 2, 12],
  379. [4, 1, -6, 6],
  380. ]
  381. ],
  382. [
  383. [
  384. [4, 7, 7, 8],
  385. [3, 6, 4, 1],
  386. [-3, 6, 8, -3],
  387. [3, 2, 1, -54],
  388. ],
  389. ],
  390. [
  391. [
  392. [3, 2, 6, 7],
  393. [4, 3, -6, 2],
  394. [12, 14, 14, -6],
  395. [4, 6, 4, -42],
  396. ],
  397. ],
  398. [
  399. [
  400. [-5, -12, 12, -13],
  401. [0, -5, -1, -3,],
  402. [13, -20, -12, -8],
  403. [16, -18, 11, -14],
  404. ]
  405. ],
  406. [
  407. [
  408. [11, 11, -8, -18, 17],
  409. [-19, -20, 6, -10, 0],
  410. [3, -17, 10, 14, -20],
  411. [-14, 7, -4, 0, 5],
  412. [-15, -18, -4, -14, -6],
  413. ]
  414. ],
  415. [
  416. [
  417. [-7, 14, 15, 14, 2],
  418. [1, -10, 11, 17, -20],
  419. [3, -18, 9, 13, -19],
  420. [-17, -3, 5, -9, -6],
  421. [1, -2, -9, -19, 7],
  422. ]
  423. ],
  424. [
  425. [
  426. [-17, -3, 0, 1, -8],
  427. [-7, 9, 16, 0, -5],
  428. [3, 6, -6, 16, -5],
  429. [-1, -5, -10, 14, 16],
  430. [18, 5, 20, -17, -15],
  431. ]
  432. ],
  433. [
  434. [
  435. [10, -18, 19, -5, 7],
  436. [-18, 18, -15, -19, 16],
  437. [-11, -14, -15, 12, -13],
  438. [-3, 4, 1, -13, -17],
  439. [17, 17, -15, 17, -13],
  440. ]
  441. ],
  442. [
  443. [
  444. [-8, 11, -9, 4, 19],
  445. [-20, 20, 16, 14, -9],
  446. [1, -11, 14, -2, 4],
  447. [11, -10, 9, -2, -5],
  448. [9, -5, -20, -19, 3],
  449. ]
  450. ],
  451. [
  452. [
  453. [1, 9, -10, 14, -2],
  454. [-1, -14, 3, 6, 0],
  455. [-2, 5, -5, 19, -5],
  456. [-12, 8, -18, 0, 14],
  457. [19, -3, 16, 15, 3],
  458. ]
  459. ],
  460. [
  461. [
  462. [-18, -13, 1, 3, -8],
  463. [9, 18, 20, 18, 8],
  464. [-16, 2, 12, -5, -11],
  465. [-9, 20, -6, 4, 9],
  466. [-16, 1, -17, 20, 5],
  467. ]
  468. ],
  469. [
  470. [
  471. [8, -14, 6, -5, 11],
  472. [-20, -5, -2, -13, -6],
  473. [0, 17, -7, -9, -15],
  474. [10, -12, 13, 15, 3],
  475. [1, 16, -1, 9, 11],
  476. ]
  477. ],
  478. [
  479. [
  480. [-9, -9, 14, -6, -8],
  481. [3, -1, 18, 15, 4],
  482. [-10, -3, 18, -12, 7],
  483. [-7, 4, -17, -11, -7],
  484. [7, -2, -7, 12, 8],
  485. ]
  486. ],
  487. ];
  488. }
  489. public function dataProviderForSquareMatrixGreaterThanOneWithoutOddMatrices(): array
  490. {
  491. return [
  492. [
  493. [
  494. [1, 2],
  495. [2, 3],
  496. ]
  497. ],
  498. [
  499. [
  500. [-1, 2],
  501. [-2, 3],
  502. ]
  503. ],
  504. [
  505. [
  506. [5, 12],
  507. [6, -5],
  508. ]
  509. ],
  510. [
  511. [
  512. [1, 5],
  513. [4, 3],
  514. ],
  515. ],
  516. [
  517. [
  518. [5, 6],
  519. [2, 1],
  520. ],
  521. ],
  522. [
  523. [
  524. [1, 0, 5],
  525. [4, 2, 0],
  526. [3, 0, 3],
  527. ],
  528. ],
  529. [
  530. [
  531. [7, -2, 13],
  532. [5, 0, 4],
  533. [6, -2, 1],
  534. ]
  535. ],
  536. [
  537. [
  538. [3, 8, 5],
  539. [3, 6, 1],
  540. [9, 5, 8],
  541. ],
  542. ],
  543. [
  544. [
  545. [5, 3, 8],
  546. [6, 4, 5],
  547. [1, 8, 9],
  548. ],
  549. ],
  550. [
  551. [
  552. [-4, -2, 9],
  553. [3, 14, -6],
  554. [3, 9, 9],
  555. ],
  556. ],
  557. [
  558. [
  559. [8, 7, 8],
  560. [-5, 4, 1],
  561. [3, 5, 1],
  562. ],
  563. ],
  564. [
  565. [
  566. [7, 8, 9, 2],
  567. [1, 2, 3, 2],
  568. [4, -3, 2, 12],
  569. [4, 1, -6, 6],
  570. ]
  571. ],
  572. [
  573. [
  574. [4, 7, 7, 8],
  575. [3, 6, 4, 1],
  576. [-3, 6, 8, -3],
  577. [3, 2, 1, -54],
  578. ],
  579. ],
  580. [
  581. [
  582. [3, 2, 6, 7],
  583. [4, 3, -6, 2],
  584. [12, 14, 14, -6],
  585. [4, 6, 4, -42],
  586. ],
  587. ],
  588. [
  589. [
  590. [-5, -12, 12, -13],
  591. [0, -5, -1, -3,],
  592. [13, -20, -12, -8],
  593. [16, -18, 11, -14],
  594. ]
  595. ],
  596. [
  597. [
  598. [11, 11, -8, -18, 17],
  599. [-19, -20, 6, -10, 0],
  600. [3, -17, 10, 14, -20],
  601. [-14, 7, -4, 0, 5],
  602. [-15, -18, -4, -14, -6],
  603. ]
  604. ],
  605. [
  606. [
  607. [-7, 14, 15, 14, 2],
  608. [1, -10, 11, 17, -20],
  609. [3, -18, 9, 13, -19],
  610. [-17, -3, 5, -9, -6],
  611. [1, -2, -9, -19, 7],
  612. ]
  613. ],
  614. [
  615. [
  616. [-17, -3, 0, 1, -8],
  617. [-7, 9, 16, 0, -5],
  618. [3, 6, -6, 16, -5],
  619. [-1, -5, -10, 14, 16],
  620. [18, 5, 20, -17, -15],
  621. ]
  622. ],
  623. [
  624. [
  625. [10, -18, 19, -5, 7],
  626. [-18, 18, -15, -19, 16],
  627. [-11, -14, -15, 12, -13],
  628. [-3, 4, 1, -13, -17],
  629. [17, 17, -15, 17, -13],
  630. ]
  631. ],
  632. [
  633. [
  634. [-8, 11, -9, 4, 19],
  635. [-20, 20, 16, 14, -9],
  636. [1, -11, 14, -2, 4],
  637. [11, -10, 9, -2, -5],
  638. [9, -5, -20, -19, 3],
  639. ]
  640. ],
  641. [
  642. [
  643. [1, 9, -10, 14, -2],
  644. [-1, -14, 3, 6, 0],
  645. [-2, 5, -5, 19, -5],
  646. [-12, 8, -18, 0, 14],
  647. [19, -3, 16, 15, 3],
  648. ]
  649. ],
  650. [
  651. [
  652. [-18, -13, 1, 3, -8],
  653. [9, 18, 20, 18, 8],
  654. [-16, 2, 12, -5, -11],
  655. [-9, 20, -6, 4, 9],
  656. [-16, 1, -17, 20, 5],
  657. ]
  658. ],
  659. [
  660. [
  661. [8, -14, 6, -5, 11],
  662. [-20, -5, -2, -13, -6],
  663. [0, 17, -7, -9, -15],
  664. [10, -12, 13, 15, 3],
  665. [1, 16, -1, 9, 11],
  666. ]
  667. ],
  668. [
  669. [
  670. [-9, -9, 14, -6, -8],
  671. [3, -1, 18, 15, 4],
  672. [-10, -3, 18, -12, 7],
  673. [-7, 4, -17, -11, -7],
  674. [7, -2, -7, 12, 8],
  675. ]
  676. ],
  677. ];
  678. }
  679. public function dataProviderForNotSquareMatrix(): array
  680. {
  681. return [
  682. [
  683. [[1,2]]
  684. ],
  685. [
  686. [
  687. [1, 2, 4],
  688. [2, 3, 5],
  689. ]
  690. ],
  691. [
  692. [
  693. [1, 2, 3, 5],
  694. [4, 5, 6, 5],
  695. [7, 8, 9, 5],
  696. ]
  697. ],
  698. [
  699. [
  700. [1, 2, 3],
  701. [4, 5, 6],
  702. [7, 8, 9],
  703. [1, 2, 3],
  704. ]
  705. ],
  706. ];
  707. }
  708. public function dataProviderForSymmetricMatrix(): array
  709. {
  710. return [
  711. [
  712. [
  713. [1],
  714. ],
  715. ],
  716. [
  717. [
  718. [1, 2],
  719. [2, 3],
  720. ]
  721. ],
  722. [
  723. [
  724. [1, 2],
  725. [2, 1],
  726. ],
  727. ],
  728. [
  729. [
  730. [4, 1],
  731. [1, -2],
  732. ],
  733. ],
  734. [
  735. [
  736. [4, -1],
  737. [-1, 9],
  738. ],
  739. ],
  740. [
  741. [
  742. [1, 2, 3],
  743. [2, 6, 4],
  744. [3, 4, 5],
  745. ],
  746. ],
  747. [
  748. [
  749. [1, 7, 3],
  750. [7, 4, -5],
  751. [3, -5, 6],
  752. ],
  753. ],
  754. [
  755. [
  756. [5, 6, 7],
  757. [6, 3, 2],
  758. [7, 2, 1],
  759. ],
  760. ],
  761. [
  762. [
  763. [2, 7, 3],
  764. [7, 9, 4],
  765. [3, 4, 7],
  766. ],
  767. ],
  768. [
  769. [
  770. [4, -1, -1, -1],
  771. [-1, 4, -1, -1],
  772. [-1, -1, 4, -1],
  773. [-1, -1, -1, 4],
  774. ],
  775. ],
  776. [
  777. [
  778. [1, 5, 6, 8],
  779. [5, 2, 7, 9],
  780. [6, 7, 3, 10],
  781. [8, 9, 10, 4],
  782. ],
  783. ],
  784. [
  785. [
  786. [1, 7, 3, 6],
  787. [7, 4, -5, 3],
  788. [3, -5, 6, 2],
  789. [6, 3, 2, 4],
  790. ],
  791. ],
  792. ];
  793. }
  794. public function dataProviderForNotSymmetricMatrix(): array
  795. {
  796. return [
  797. [
  798. [[1, 1]],
  799. ],
  800. [
  801. [
  802. [1, 2],
  803. [5, 3],
  804. ]
  805. ],
  806. [
  807. [
  808. [1, 7, 3],
  809. [7, 4, 5],
  810. [-3, -5, 6],
  811. ],
  812. ],
  813. [
  814. [
  815. [1, 2, 3, 4],
  816. [1, 2, 3, 4],
  817. ],
  818. ],
  819. ];
  820. }
  821. public function dataProviderForSkewSymmetricMatrix(): array
  822. {
  823. return [
  824. [
  825. [
  826. [0]
  827. ]
  828. ],
  829. [
  830. [
  831. [0, 0],
  832. [0, 0],
  833. ]
  834. ],
  835. [
  836. [
  837. [0, 2],
  838. [-2, 0],
  839. ],
  840. ],
  841. [
  842. [
  843. [0, -1],
  844. [1, 0],
  845. ],
  846. ],
  847. [
  848. [
  849. [0, 1],
  850. [-1, 0],
  851. ],
  852. ],
  853. [
  854. [
  855. [0, 2, -1],
  856. [-2, 0, -4],
  857. [1, 4, 0],
  858. ]
  859. ],
  860. [
  861. [
  862. [0, -2, 3],
  863. [2, 0, -5],
  864. [-3, 5, 0],
  865. ]
  866. ],
  867. [
  868. [
  869. [0, 2, -3],
  870. [-2, 0, -4],
  871. [3, 4, 0],
  872. ],
  873. ],
  874. [
  875. [
  876. [0, 7, 3],
  877. [-7, 0, -5],
  878. [-3, 5, 0],
  879. ],
  880. ],
  881. [
  882. [
  883. [0, 6, 7],
  884. [-6, 0, 2],
  885. [-7, -2, 0],
  886. ],
  887. ],
  888. [
  889. [
  890. [0, -7, -3],
  891. [7, 0, -4],
  892. [3, 4, 0],
  893. ],
  894. ],
  895. [
  896. [
  897. [0, -1, -1, -1],
  898. [1, 0, -1, -1],
  899. [1, 1, 0, -1],
  900. [1, 1, 1, 0],
  901. ],
  902. ],
  903. [
  904. [
  905. [0, -5, -6, 8],
  906. [5, 0, 7, 9],
  907. [6, -7, 0, 10],
  908. [-8, -9, -10, 0],
  909. ],
  910. ],
  911. [
  912. [
  913. [0, -7, -3, -6],
  914. [7, 0, -5, 3],
  915. [3, 5, 0, 2],
  916. [6, -3, -2, 0],
  917. ],
  918. ],
  919. ];
  920. }
  921. public function dataProviderForNotSkewSymmetricMatrix(): array
  922. {
  923. return [
  924. [
  925. [
  926. [1]
  927. ]
  928. ],
  929. [
  930. [
  931. [1, 0],
  932. [0, 1],
  933. ]
  934. ],
  935. [
  936. [
  937. [0, 2],
  938. [2, 0],
  939. ],
  940. ],
  941. [
  942. [
  943. [1, -1],
  944. [1, 1],
  945. ],
  946. ],
  947. [
  948. [
  949. [0, 2, -1],
  950. [-2, 1, -4],
  951. [1, 4, 0],
  952. ]
  953. ],
  954. [
  955. [
  956. [0, -1, -1, -1],
  957. [1, 0, -1, -1],
  958. [1, 1, 0, 1],
  959. [1, 1, 1, 0],
  960. ],
  961. ],
  962. ];
  963. }
  964. public function dataProviderForSingularMatrix(): array
  965. {
  966. return [
  967. [
  968. [
  969. [0],
  970. ],
  971. ],
  972. [
  973. [
  974. [0, 0],
  975. [0, 0],
  976. ]
  977. ],
  978. [
  979. [
  980. [0, 0],
  981. [0, 1],
  982. ]
  983. ],
  984. [
  985. [
  986. [0, 0],
  987. [1, 0],
  988. ]
  989. ],
  990. [
  991. [
  992. [0, 0],
  993. [1, 1],
  994. ]
  995. ],
  996. [
  997. [
  998. [0, 1],
  999. [0, 0],
  1000. ]
  1001. ],
  1002. [
  1003. [
  1004. [0, 1],
  1005. [0, 1],
  1006. ]
  1007. ],
  1008. [
  1009. [
  1010. [1, 0],
  1011. [0, 0],
  1012. ]
  1013. ],
  1014. [
  1015. [
  1016. [1, 0],
  1017. [1, 0],
  1018. ]
  1019. ],
  1020. [
  1021. [
  1022. [1, 1],
  1023. [0, 0],
  1024. ]
  1025. ],
  1026. [
  1027. [
  1028. [1, 1],
  1029. [1, 1],
  1030. ]
  1031. ],
  1032. [
  1033. [
  1034. [1, 2, 3],
  1035. [2, 3, 4],
  1036. [3, 4, 5],
  1037. ],
  1038. ],
  1039. [
  1040. [
  1041. [1, 2, 1],
  1042. [-2, -3, 1],
  1043. [3, 5, 0],
  1044. ],
  1045. ],
  1046. [
  1047. [
  1048. [1, -1, 2],
  1049. [2, 1, 1],
  1050. [1, 1, 0],
  1051. ],
  1052. ],
  1053. [
  1054. [
  1055. [1, 0, 1],
  1056. [0, 1, -1],
  1057. [0, 0, 0],
  1058. ],
  1059. ],
  1060. [
  1061. [
  1062. [1, 1, 4, 1, 2],
  1063. [0, 1, 2, 1, 1],
  1064. [0, 0, 0, 1, 2],
  1065. [1, -1, 0, 0, 2],
  1066. [2, 1, 6, 0, 1],
  1067. ],
  1068. ],
  1069. ];
  1070. }
  1071. public function dataProviderForNonsingularMatrix(): array
  1072. {
  1073. return [
  1074. [
  1075. [
  1076. [1],
  1077. ],
  1078. ],
  1079. [
  1080. [
  1081. [0, 1],
  1082. [1, 0],
  1083. ]
  1084. ],
  1085. [
  1086. [
  1087. [0, 1],
  1088. [1, 1],
  1089. ]
  1090. ],
  1091. [
  1092. [
  1093. [1, 0],
  1094. [0, 1],
  1095. ]
  1096. ],
  1097. [
  1098. [
  1099. [1, 0],
  1100. [1, 1],
  1101. ]
  1102. ],
  1103. [
  1104. [
  1105. [1, 1],
  1106. [0, 1],
  1107. ]
  1108. ],
  1109. [
  1110. [
  1111. [1, 1],
  1112. [1, 0],
  1113. ]
  1114. ],
  1115. [
  1116. [
  1117. [-7, -6, -12],
  1118. [5, 5, 7],
  1119. [1, 0, 4],
  1120. ],
  1121. ],
  1122. [
  1123. [
  1124. [1, 0, 0],
  1125. [0, 1, 0],
  1126. [0, 0, 1],
  1127. ],
  1128. ],
  1129. [
  1130. [
  1131. [3, 8],
  1132. [4, 6],
  1133. ],
  1134. ],
  1135. [
  1136. [
  1137. [4, 3],
  1138. [3, 2],
  1139. ],
  1140. ],
  1141. [
  1142. [
  1143. [6, 1, 1],
  1144. [4, -2, 5],
  1145. [2, 8, 7],
  1146. ],
  1147. ],
  1148. [
  1149. [
  1150. [1, 2, 0],
  1151. [-1, 1, 1],
  1152. [1, 2, 3],
  1153. ],
  1154. ],
  1155. [
  1156. [
  1157. [4, 6, 3, 2],
  1158. [3, 6, 5, 3],
  1159. [5, 7, 8, 6],
  1160. [5, 4, 3, 2],
  1161. ],
  1162. ],
  1163. [
  1164. [
  1165. [3, 2, 0, 1],
  1166. [4, 0, 1, 2],
  1167. [3, 0, 2, 1],
  1168. [9, 2, 3, 1],
  1169. ],
  1170. ],
  1171. [
  1172. [
  1173. [1, 2, 3, 4],
  1174. [5, 6, 7, 8],
  1175. [2, 6, 4, 8],
  1176. [3, 1, 1, 2],
  1177. ],
  1178. ],
  1179. [
  1180. [
  1181. [7, 4, 2, 0],
  1182. [6, 3, -1, 2],
  1183. [4, 6, 2, 5],
  1184. [8, 2, -7, 1],
  1185. ],
  1186. ],
  1187. [
  1188. [
  1189. [-4, 3, 1, 5, -8],
  1190. [6, 0, 9, 2, 6],
  1191. [-1, 4, 4, 0, 2],
  1192. [8, -1, 3, 4, 0],
  1193. [5, 9, -7, -7, 1]
  1194. ],
  1195. ],
  1196. [
  1197. [
  1198. [4, 3, 1, 5, -8],
  1199. [6, 0, 9, 2, 6],
  1200. [-1, 4, 4, 0, 2],
  1201. [8, -1, 3, 4, 0],
  1202. [5, 9, -7, -7, 1]
  1203. ],
  1204. ],
  1205. [
  1206. [
  1207. [4, 3, 1, 5, 8],
  1208. [6, 0, 9, 2, 6],
  1209. [-1, 4, 4, 0, 2],
  1210. [8, -1, 3, 4, 0],
  1211. [5, 9, -7, -7, 1]
  1212. ],
  1213. ],
  1214. [
  1215. [
  1216. [4, 3, 1, 5, 8],
  1217. [6, 0, 9, 2, 6],
  1218. [1, 4, 4, 0, 2],
  1219. [8, -1, 3, 4, 0],
  1220. [5, 9, -7, -7, 1]
  1221. ],
  1222. ],
  1223. [
  1224. [
  1225. [4, 3, 1, 5, 8],
  1226. [6, 0, 9, 2, 6],
  1227. [1, 4, 4, 0, 2],
  1228. [8, 1, 3, 4, 0],
  1229. [5, 9, -7, -7, 1]
  1230. ],
  1231. ],
  1232. [
  1233. [
  1234. [4, 3, 1, 5, 8],
  1235. [6, 0, 9, 2, 6],
  1236. [1, 4, 4, 0, 2],
  1237. [8, 1, 3, 4, 0],
  1238. [5, 9, 7, -7, 1]
  1239. ],
  1240. ],
  1241. [
  1242. [
  1243. [4, 3, 1, 5, 8],
  1244. [6, 0, 9, 2, 6],
  1245. [1, 4, 4, 0, 2],
  1246. [8, 1, 3, 4, 0],
  1247. [5, 9, 7, 7, 1]
  1248. ],
  1249. ],
  1250. [
  1251. [
  1252. [5, 2, 0, 0, -2],
  1253. [0, 1, 4, 3, 2],
  1254. [0, 0, 2, 6, 3],
  1255. [0, 0, 3, 4, 1],
  1256. [0, 0, 0, 0, 2],
  1257. ],
  1258. ],
  1259. [
  1260. [
  1261. [5, 2, 0, 0, 2],
  1262. [0, 1, 4, 3, 2],
  1263. [0, 0, 2, 6, 3],
  1264. [0, 0, 3, 4, 1],
  1265. [0, 0, 0, 0, 2],
  1266. ],
  1267. ],
  1268. [
  1269. [
  1270. [5, 2, 0, 0, -2],
  1271. [0, -1, 4, 3, 2],
  1272. [0, 0, 2, 6, 3],
  1273. [0, 0, 3, 4, 1],
  1274. [0, 0, 0, 0, 2],
  1275. ],
  1276. ],
  1277. [
  1278. [
  1279. [2, -9, 1, 8, 4],
  1280. [-10, -1, 2, 7, 0],
  1281. [0, 4, -6, 1, -8],
  1282. [6, -14, 11, 0, 3],
  1283. [5, 1, -3, 2, -1],
  1284. ],
  1285. ],
  1286. [
  1287. [
  1288. [2, 9, 1, 8, 4],
  1289. [-10, -1, 2, 7, 0],
  1290. [0, 4, -6, 1, -8],
  1291. [6, -14, 11, 0, 3],
  1292. [5, 1, -3, 2, -1],
  1293. ],
  1294. ],
  1295. [
  1296. [
  1297. [2, 9, 1, 8, 4],
  1298. [10, -1, 2, 7, 0],
  1299. [0, 4, -6, 1, -8],
  1300. [6, -14, 11, 0, 3],
  1301. [5, 1, -3, 2, -1],
  1302. ],
  1303. ],
  1304. [
  1305. [
  1306. [2, 9, 1, 8, 4],
  1307. [10, 1, 2, 7, 0],
  1308. [0, 4, -6, 1, -8],
  1309. [6, -14, 11, 0, 3],
  1310. [5, 1, -3, 2, -1],
  1311. ],
  1312. ],
  1313. [
  1314. [
  1315. [276,1,179,23, 9387],
  1316. [0, 0, 78, 0, 0],
  1317. [0, 0, -1, 0, 1],
  1318. [0, 0, 1994, -1, 1089],
  1319. [1, 0, 212, 726, -378],
  1320. ],
  1321. ],
  1322. [
  1323. [
  1324. [276,1,179,23, 9387],
  1325. [0, 0, 78, 0, 0],
  1326. [0, 0, 1, 0, 1],
  1327. [0, 0, 1994, -1, 1089],
  1328. [1, 0, 212, 726, -378],
  1329. ],
  1330. ],
  1331. [
  1332. [
  1333. [276,1,179,23, 9387],
  1334. [0, 0, 78, 0, 0],
  1335. [0, 0, 1, 0, 1],
  1336. [0, 0, 1994, 1, 1089],
  1337. [1, 0, 212, 726, -378],
  1338. ],
  1339. ],
  1340. [
  1341. [
  1342. [276,1,179,23, 9387],
  1343. [0, 0, 78, 0, 0],
  1344. [0, 0, 1, 0, 1],
  1345. [0, 0, 1994, 1, 1089],
  1346. [1, 0, 212, 726, 378],
  1347. ],
  1348. ],
  1349. [
  1350. [
  1351. [276,1,179,23, -9387],
  1352. [0, 0, 78, 0, 0],
  1353. [0, 0, 1, 0, 1],
  1354. [0, 0, 1994, 1, 1089],
  1355. [1, 0, 212, 726, 378],
  1356. ],
  1357. ],
  1358. [
  1359. [
  1360. [1, 0, 3, 5, 1],
  1361. [0, 1, 5, 1, 0],
  1362. [0, 4, 0, 0, 2],
  1363. [2, 3, 1, 2, 0],
  1364. [1, 0, 0, 1, 1],
  1365. ],
  1366. ],
  1367. [
  1368. [
  1369. [2, 3, 4, 1, 3],
  1370. [6, 1, 3, 1, 2],
  1371. [6, 3, 1, 2, 5],
  1372. [4, 2, 4, 7, 8],
  1373. [2, 1, 2, 4, 2],
  1374. ],
  1375. ],
  1376. [
  1377. [
  1378. [2, 3, -4, 1, 3],
  1379. [6, 1, 3, 1, 2],
  1380. [6, 3, 1, 2, 5],
  1381. [4, 2, 4, 7, 8],
  1382. [2, 1, 2, 4, 2],
  1383. ],
  1384. ],
  1385. [
  1386. [
  1387. [2, 3, -4, 1, 3],
  1388. [6, 1, -3, 1, 2],
  1389. [6, 3, 1, 2, 5],
  1390. [4, 2, 4, 7, 8],
  1391. [2, 1, 2, 4, 2],
  1392. ],
  1393. ],
  1394. [
  1395. [
  1396. [2, 3, -4, 1, 3],
  1397. [6, 1, -3, 1, 2],
  1398. [6, 3, -1, 2, 5],
  1399. [4, 2, 4, 7, 8],
  1400. [2, 1, 2, 4, 2],
  1401. ],
  1402. ],
  1403. [
  1404. [
  1405. [2, 3, -4, 1, 3],
  1406. [6, 1, -3, 1, 2],
  1407. [6, 3, -1, 2, 5],
  1408. [4, 2, -4, 7, 8],
  1409. [2, 1, 2, 4, 2],
  1410. ],
  1411. ],
  1412. [
  1413. [
  1414. [2, 3, -4, 1, 3],
  1415. [6, 1, -3, 1, 2],
  1416. [6, 3, -1, 2, 5],
  1417. [4, 2, -4, 7, 8],
  1418. [2, 1, -2, 4, 2],
  1419. ],
  1420. ],
  1421. [
  1422. [
  1423. [2, 3, -4, -1, 3],
  1424. [6, 1, -3, 1, 2],
  1425. [6, 3, -1, 2, 5],
  1426. [4, 2, -4, 7, 8],
  1427. [2, 1, -2, 4, 2],
  1428. ],
  1429. ],
  1430. [
  1431. [
  1432. [2, 3, -4, -1, -3],
  1433. [6, 1, -3, -1, 2],
  1434. [6, 3, -1, 2, 5],
  1435. [4, 2, -4, 7, -8],
  1436. [2, 1, -2, 4, 2],
  1437. ],
  1438. ],
  1439. [
  1440. [
  1441. [2, 1, 2],
  1442. [1, 1, 1],
  1443. [2, 2, 5],
  1444. ],
  1445. ],
  1446. [
  1447. [
  1448. [1, 0, 2, -1],
  1449. [3, 0, 0, 5],
  1450. [2, 1, 4, -3],
  1451. [1, 0, 5, 0],
  1452. ],
  1453. ],
  1454. [
  1455. [
  1456. [1, 0, 2, 0, 0, 4],
  1457. [18, 1, 5, 0, 0, 9],
  1458. [3, 5, 3, 6, 0, 4],
  1459. [2, 0, 8, 0, 0, 7],
  1460. [7, 0, 4, 0, 6, 0],
  1461. [0, 0, 1, 0, 0, 0]
  1462. ],
  1463. ],
  1464. [
  1465. [
  1466. [-1, 0, 2, 0, 0, 4],
  1467. [18, 1, 5, 0, 0, 9],
  1468. [3, 5, 3, 6, 0, 4],
  1469. [2, 0, 8, 0, 0, 7],
  1470. [7, 0, 4, 0, 6, 0],
  1471. [0, 0, 1, 0, 0, 0]
  1472. ],
  1473. ],
  1474. [
  1475. [
  1476. [-1, 0, -2, 0, 0, 4],
  1477. [18, 1, 5, 0, 0, 9],
  1478. [3, 5, 3, 6, 0, 4],
  1479. [2, 0, 8, 0, 0, 7],
  1480. [7, 0, 4, 0, 6, 0],
  1481. [0, 0, 1, 0, 0, 0]
  1482. ],
  1483. ],
  1484. [
  1485. [
  1486. [-1, 0, -2, 0, 0, -4],
  1487. [18, 1, 5, 0, 0, 9],
  1488. [3, 5, 3, 6, 0, 4],
  1489. [2, 0, 8, 0, 0, 7],
  1490. [7, 0, 4, 0, 6, 0],
  1491. [0, 0, 1, 0, 0, 0]
  1492. ],
  1493. ],
  1494. [
  1495. [
  1496. [1, 1, 1, 1, 1, 1],
  1497. [1, 3, 1, 3, 1, 3],
  1498. [1, 1, 4, 1, 1, 4],
  1499. [1, 3, 1, 7, 1, 3],
  1500. [1, 1, 1, 1, 6, 1],
  1501. [1, 3, 4, 3, 1, 12]
  1502. ],
  1503. ],
  1504. [
  1505. [
  1506. [-1, 1, 1, 1, 1, 1],
  1507. [1, 3, 1, 3, 1, 3],
  1508. [1, 1, 4, 1, 1, 4],
  1509. [1, 3, 1, 7, 1, 3],
  1510. [1, 1, 1, 1, 6, 1],
  1511. [1, 3, 4, 3, 1, 12]
  1512. ],
  1513. ],
  1514. [
  1515. [
  1516. [-1, 1, 1, 1, 1, 1],
  1517. [1, 3, 1, 3, 1, 3],
  1518. [1, 1, 4, 1, 1, 4],
  1519. [1, -3, 1, 7, 1, 3],
  1520. [1, 1, 1, 1, 6, 1],
  1521. [1, 3, 4, 3, 1, 12]
  1522. ],
  1523. ],
  1524. [
  1525. [
  1526. [1, 0, 0, 0, 0, 0],
  1527. [0, 2, 0, 0, 0, 0],
  1528. [0, 0, 3, 0, 0, 0],
  1529. [0, 0, 0, 4, 0, 0],
  1530. [0, 0, 0, 0, 5, 0],
  1531. [0, 0, 0, 0, 0, 6]
  1532. ],
  1533. ],
  1534. [
  1535. [
  1536. [-1, 0, 0, 0, 0, 0],
  1537. [0, 2, 0, 0, 0, 0],
  1538. [0, 0, 3, 0, 0, 0],
  1539. [0, 0, 0, 4, 0, 0],
  1540. [0, 0, 0, 0, 5, 0],
  1541. [0, 0, 0, 0, 0, 6]
  1542. ],
  1543. ],
  1544. [
  1545. [
  1546. [-1, 0, 0, 0, 0, 0],
  1547. [0, 2, 0, 0, 0, 0],
  1548. [0, 0, 0, 4, 0, 0],
  1549. [0, 0, 3, 0, 0, 0],
  1550. [0, 0, 0, 0, 5, 0],
  1551. [0, 0, 0, 0, 0, 6]
  1552. ],
  1553. ],
  1554. [
  1555. [
  1556. [1, 0, 0, 0, 0, 0],
  1557. [1, 2, 0, 0, 0, 0],
  1558. [1, 0, 3, 0, 0, 0],
  1559. [1, 2, 0, 4, 0, 0],
  1560. [1, 0, 0, 0, 5, 0],
  1561. [1, 2, 3, 0, 0, 6],
  1562. ],
  1563. ],
  1564. [
  1565. [
  1566. [0, 1, 4, 3, 2, 3, 3, 4, 4],
  1567. [1, 0, 3, 2, 1, 2, 2, 3, 3],
  1568. [4, 3, 0, 1, 2, 3, 3, 4, 4],
  1569. [3, 2, 1, 0, 1, 2, 2, 3, 3],
  1570. [2, 1, 2, 1, 0, 1, 1, 2, 2],
  1571. [3, 2, 3, 2, 1, 0, 2, 3, 3],
  1572. [3, 2, 3, 2, 1, 2, 0, 1, 2],
  1573. [4, 3, 4, 3, 2, 3, 1, 0, 2],
  1574. [4, 3, 4, 3, 2, 3, 2, 2, 0],
  1575. ],
  1576. ],
  1577. [
  1578. [
  1579. [2, 1, 4, 3, 2, 3, 3, 4, 4],
  1580. [1, 2, 3, 2, 1, 2, 2, 3, 3],
  1581. [4, 3, 2, 1, 2, 3, 3, 4, 4],
  1582. [3, 2, 1, 2, 1, 2, 2, 3, 3],
  1583. [2, 1, 2, 1, 2, 1, 1, 2, 2],
  1584. [3, 2, 3, 2, 1, 2, 2, 3, 3],
  1585. [3, 2, 3, 2, 1, 2, 2, 1, 2],
  1586. [4, 3, 4, 3, 2, 3, 1, 2, 2],
  1587. [4, 3, 4, 3, 2, 3, 2, 2, 2],
  1588. ],
  1589. ],
  1590. [
  1591. [
  1592. [2, -1, 4, 3, 2, 3, 3, 4, 4],
  1593. [1, 2, 3, 2, 1, 2, 2, 3, 3],
  1594. [4, 3, 2, 1, 2, 3, 3, 4, 4],
  1595. [3, 2, 1, 2, 1, 2, 2, 3, 3],
  1596. [2, 1, 2, 1, 2, 1, 1, 2, 2],
  1597. [3, 2, 3, 2, 1, 2, 2, 3, 3],
  1598. [3, 2, 3, 2, 1, 2, 2, 1, 2],
  1599. [4, 3, 4, 3, 2, 3, 1, 2, 2],
  1600. [4, 3, 4, 3, 2, 3, 2, 2, 2],
  1601. ],
  1602. ],
  1603. [
  1604. [
  1605. [2, 1, 4, 3, 2, 3, 3, 4, 4],
  1606. [-1, 2, 3, 2, 1, 2, 2, 3, 3],
  1607. [4, 3, 2, 1, 2, 3, 3, 4, 4],
  1608. [3, 2, 1, 2, 1, 2, 2, 3, 3],
  1609. [2, 1, 2, 1, 2, 1, 1, 2, 2],
  1610. [3, 2, 3, 2, 1, 2, 2, 3, 3],
  1611. [3, 2, 3, 2, 1, 2, 2, 1, 2],
  1612. [4, 3, 4, 3, 2, 3, 1, 2, 2],
  1613. [4, 3, 4, 3, 2, 3, 2, 2, 2],
  1614. ],
  1615. ],
  1616. [
  1617. [
  1618. [2, -1, 4, 3, 2, 3, 3, 4, 4],
  1619. [-1, 2, 3, 2, 1, 2, 2, 3, 3],
  1620. [4, 3, 2, 1, 2, 3, 3, 4, 4],
  1621. [3, 2, 1, 2, 1, 2, 2, 3, 3],
  1622. [2, 1, 2, 1, 2, 1, 1, 2, 2],
  1623. [3, 2, 3, 2, 1, 2, 2, 3, 3],
  1624. [3, 2, 3, 2, 1, 2, 2, 1, 2],
  1625. [4, 3, 4, 3, 2, 3, 1, 2, 2],
  1626. [4, 3, 4, 3, 2, 3, 2, 2, 2],
  1627. ],
  1628. ],
  1629. [
  1630. [
  1631. [2, -1, 4, 3, 2, 3, 3, 4, 4],
  1632. [-1, 2, 3, 2, 1, 2, 2, 3, 3],
  1633. [4, 3, 2, 1, 2, 3, 3, 4, 4],
  1634. [2, 1, 2, 1, 2, 1, 1, 2, 2],
  1635. [3, 2, 1, 2, 1, 2, 2, 3, 3],
  1636. [3, 2, 3, 2, 1, 2, 2, 3, 3],
  1637. [3, 2, 3, 2, 1, 2, 2, 1, 2],
  1638. [4, 3, 4, 3, 2, 3, 1, 2, 2],
  1639. [4, 3, 4, 3, 2, 3, 2, 2, 2],
  1640. ],
  1641. ],
  1642. ];
  1643. }
  1644. public function dataProviderForTwoNonsingularMatrices(): array
  1645. {
  1646. return [
  1647. [
  1648. [
  1649. [0, 1],
  1650. [1, 0],
  1651. ],
  1652. [
  1653. [0, 1],
  1654. [1, 1],
  1655. ]
  1656. ],
  1657. [
  1658. [
  1659. [1, 0],
  1660. [0, 1],
  1661. ],
  1662. [
  1663. [1, 0],
  1664. [1, 1],
  1665. ]
  1666. ],
  1667. [
  1668. [
  1669. [1, 1],
  1670. [0, 1],
  1671. ],
  1672. [
  1673. [1, 1],
  1674. [1, 0],
  1675. ]
  1676. ],
  1677. [
  1678. [
  1679. [-7, -6, -12],
  1680. [5, 5, 7],
  1681. [1, 0, 4],
  1682. ],
  1683. [
  1684. [1, 0, 0],
  1685. [0, 1, 0],
  1686. [0, 0, 1],
  1687. ],
  1688. ],
  1689. [
  1690. [
  1691. [3, 8],
  1692. [4, 6],
  1693. ],
  1694. [
  1695. [4, 3],
  1696. [3, 2],
  1697. ],
  1698. ],
  1699. [
  1700. [
  1701. [6, 1, 1],
  1702. [4, -2, 5],
  1703. [2, 8, 7],
  1704. ],
  1705. [
  1706. [1, 2, 0],
  1707. [-1, 1, 1],
  1708. [1, 2, 3],
  1709. ],
  1710. ],
  1711. [
  1712. [
  1713. [4, 6, 3, 2],
  1714. [3, 6, 5, 3],
  1715. [5, 7, 8, 6],
  1716. [5, 4, 3, 2],
  1717. ],
  1718. [
  1719. [3, 2, 0, 1],
  1720. [4, 0, 1, 2],
  1721. [3, 0, 2, 1],
  1722. [9, 2, 3, 1],
  1723. ],
  1724. ],
  1725. [
  1726. [
  1727. [1, 2, 3, 4],
  1728. [5, 6, 7, 8],
  1729. [2, 6, 4, 8],
  1730. [3, 1, 1, 2],
  1731. ],
  1732. [
  1733. [7, 4, 2, 0],
  1734. [6, 3, -1, 2],
  1735. [4, 6, 2, 5],
  1736. [8, 2, -7, 1],
  1737. ],
  1738. ],
  1739. [
  1740. [
  1741. [-4, 3, 1, 5, -8],
  1742. [6, 0, 9, 2, 6],
  1743. [-1, 4, 4, 0, 2],
  1744. [8, -1, 3, 4, 0],
  1745. [5, 9, -7, -7, 1]
  1746. ],
  1747. [
  1748. [4, 3, 1, 5, -8],
  1749. [6, 0, 9, 2, 6],
  1750. [-1, 4, 4, 0, 2],
  1751. [8, -1, 3, 4, 0],
  1752. [5, 9, -7, -7, 1]
  1753. ],
  1754. ],
  1755. [
  1756. [
  1757. [4, 3, 1, 5, 8],
  1758. [6, 0, 9, 2, 6],
  1759. [-1, 4, 4, 0, 2],
  1760. [8, -1, 3, 4, 0],
  1761. [5, 9, -7, -7, 1]
  1762. ],
  1763. [
  1764. [4, 3, 1, 5, 8],
  1765. [6, 0, 9, 2, 6],
  1766. [1, 4, 4, 0, 2],
  1767. [8, -1, 3, 4, 0],
  1768. [5, 9, -7, -7, 1]
  1769. ],
  1770. ],
  1771. [
  1772. [
  1773. [4, 3, 1, 5, 8],
  1774. [6, 0, 9, 2, 6],
  1775. [1, 4, 4, 0, 2],
  1776. [8, 1, 3, 4, 0],
  1777. [5, 9, -7, -7, 1]
  1778. ],
  1779. [
  1780. [4, 3, 1, 5, 8],
  1781. [6, 0, 9, 2, 6],
  1782. [1, 4, 4, 0, 2],
  1783. [8, 1, 3, 4, 0],
  1784. [5, 9, 7, -7, 1]
  1785. ],
  1786. ],
  1787. [
  1788. [
  1789. [4, 3, 1, 5, 8],
  1790. [6, 0, 9, 2, 6],
  1791. [1, 4, 4, 0, 2],
  1792. [8, 1, 3, 4, 0],
  1793. [5, 9, 7, 7, 1]
  1794. ],
  1795. [
  1796. [5, 2, 0, 0, -2],
  1797. [0, 1, 4, 3, 2],
  1798. [0, 0, 2, 6, 3],
  1799. [0, 0, 3, 4, 1],
  1800. [0, 0, 0, 0, 2],
  1801. ],
  1802. ],
  1803. [
  1804. [
  1805. [5, 2, 0, 0, 2],
  1806. [0, 1, 4, 3, 2],
  1807. [0, 0, 2, 6, 3],
  1808. [0, 0, 3, 4, 1],
  1809. [0, 0, 0, 0, 2],
  1810. ],
  1811. [
  1812. [5, 2, 0, 0, -2],
  1813. [0, -1, 4, 3, 2],
  1814. [0, 0, 2, 6, 3],
  1815. [0, 0, 3, 4, 1],
  1816. [0, 0, 0, 0, 2],
  1817. ],
  1818. ],
  1819. [
  1820. [
  1821. [2, -9, 1, 8, 4],
  1822. [-10, -1, 2, 7, 0],
  1823. [0, 4, -6, 1, -8],
  1824. [6, -14, 11, 0, 3],
  1825. [5, 1, -3, 2, -1],
  1826. ],
  1827. [
  1828. [2, 9, 1, 8, 4],
  1829. [-10, -1, 2, 7, 0],
  1830. [0, 4, -6, 1, -8],
  1831. [6, -14, 11, 0, 3],
  1832. [5, 1, -3, 2, -1],
  1833. ],
  1834. ],
  1835. [
  1836. [
  1837. [2, 9, 1, 8, 4],
  1838. [10, -1, 2, 7, 0],
  1839. [0, 4, -6, 1, -8],
  1840. [6, -14, 11, 0, 3],
  1841. [5, 1, -3, 2, -1],
  1842. ],
  1843. [
  1844. [2, 9, 1, 8, 4],
  1845. [10, 1, 2, 7, 0],
  1846. [0, 4, -6, 1, -8],
  1847. [6, -14, 11, 0, 3],
  1848. [5, 1, -3, 2, -1],
  1849. ],
  1850. ],
  1851. [
  1852. [
  1853. [50,1,44,23, 32],
  1854. [0, 0, 78, 0, 0],
  1855. [0, 0, -1, 0, 1],
  1856. [0, 0, 5, -1, 5],
  1857. [1, 0, 5, 5, -34],
  1858. ],
  1859. [
  1860. [2,1,4,1, 5],
  1861. [0, 0, 4, 0, 0],
  1862. [0, 0, 1, 0, 1],
  1863. [0, 0, 4, -1, 2],
  1864. [1, 0, 6, 4, -3],
  1865. ],
  1866. ],
  1867. [
  1868. [
  1869. [276,1,179,23, 23],
  1870. [0, 0, 78, 0, 0],
  1871. [0, 0, 1, 0, 1],
  1872. [0, 0, 77, 1, 87],
  1873. [1, 0, 212, 54, -74],
  1874. ],
  1875. [
  1876. [1,1,1,1, 1],
  1877. [0, 0, 3, 0, 0],
  1878. [0, 0, 1, 0, 1],
  1879. [0, 0, 2, 1, 2],
  1880. [1, 0, 4, 4, 5],
  1881. ],
  1882. ],
  1883. [
  1884. [
  1885. [10,1,5,23, -8],
  1886. [0, 0, 78, 0, 0],
  1887. [0, 0, 1, 0, 1],
  1888. [0, 0, 4, 1, 7],
  1889. [1, 0, 4, 6, 6],
  1890. ],
  1891. [
  1892. [1, 0, 3, 5, 1],
  1893. [0, 1, 2, 1, 0],
  1894. [0, 4, 0, 0, 2],
  1895. [2, 3, 1, 2, 0],
  1896. [1, 0, 0, 1, 1],
  1897. ],
  1898. ],
  1899. [
  1900. [
  1901. [2, 3, 4, 1, 3],
  1902. [6, 1, 3, 1, 2],
  1903. [6, 3, 1, 2, 5],
  1904. [4, 2, 4, 7, 8],
  1905. [2, 1, 2, 4, 2],
  1906. ],
  1907. [
  1908. [2, 3, -4, 1, 3],
  1909. [6, 1, 3, 1, 2],
  1910. [6, 3, 1, 2, 5],
  1911. [4, 2, 4, 7, 8],
  1912. [2, 1, 2, 4, 2],
  1913. ],
  1914. ],
  1915. [
  1916. [
  1917. [2, 3, -4, 1, 3],
  1918. [6, 1, -3, 1, 2],
  1919. [6, 3, 1, 2, 5],
  1920. [4, 2, 4, 7, 8],
  1921. [2, 1, 2, 4, 2],
  1922. ],
  1923. [
  1924. [2, 3, -4, 1, 3],
  1925. [6, 1, -3, 1, 2],
  1926. [6, 3, -1, 2, 5],
  1927. [4, 2, 4, 7, 8],
  1928. [2, 1, 2, 4, 2],
  1929. ],
  1930. ],
  1931. [
  1932. [
  1933. [2, 3, -4, 1, 3],
  1934. [6, 1, -3, 1, 2],
  1935. [6, 3, -1, 2, 5],
  1936. [4, 2, -4, 7, 8],
  1937. [2, 1, 2, 4, 2],
  1938. ],
  1939. [
  1940. [2, 3, -4, 1, 3],
  1941. [6, 1, -3, 1, 2],
  1942. [6, 3, -1, 2, 5],
  1943. [4, 2, -4, 7, 8],
  1944. [2, 1, -2, 4, 2],
  1945. ],
  1946. ],
  1947. [
  1948. [
  1949. [2, 3, -4, -1, 3],
  1950. [6, 1, -3, 1, 2],
  1951. [6, 3, -1, 2, 5],
  1952. [4, 2, -4, 7, 8],
  1953. [2, 1, -2, 4, 2],
  1954. ],
  1955. [
  1956. [2, 3, -4, -1, -3],
  1957. [6, 1, -3, -1, 2],
  1958. [6, 3, -1, 2, 5],
  1959. [4, 2, -4, 7, -8],
  1960. [2, 1, -2, 4, 2],
  1961. ],
  1962. ],
  1963. [
  1964. [
  1965. [1, 0, 2, 0, 0, 4],
  1966. [18, 1, 5, 0, 0, 9],
  1967. [3, 5, 3, 6, 0, 4],
  1968. [2, 0, 8, 0, 0, 7],
  1969. [7, 0, 4, 0, 6, 0],
  1970. [0, 0, 1, 0, 0, 0]
  1971. ],
  1972. [
  1973. [-1, 0, 2, 0, 0, 4],
  1974. [18, 1, 5, 0, 0, 9],
  1975. [3, 5, 3, 6, 0, 4],
  1976. [2, 0, 8, 0, 0, 7],
  1977. [7, 0, 4, 0, 6, 0],
  1978. [0, 0, 1, 0, 0, 0]
  1979. ],
  1980. ],
  1981. [
  1982. [
  1983. [-1, 0, -2, 0, 0, 4],
  1984. [18, 1, 5, 0, 0, 9],
  1985. [3, 5, 3, 6, 0, 4],
  1986. [2, 0, 8, 0, 0, 7],
  1987. [7, 0, 4, 0, 6, 0],
  1988. [0, 0, 1, 0, 0, 0]
  1989. ],
  1990. [
  1991. [1, 1, 1, 1, 1, 1],
  1992. [1, 3, 1, 3, 1, 3],
  1993. [1, 1, 4, 1, 1, 4],
  1994. [1, 3, 1, 7, 1, 3],
  1995. [1, 1, 1, 1, 6, 1],
  1996. [1, 3, 4, 3, 1, 12]
  1997. ],
  1998. ],
  1999. [
  2000. [
  2001. [-1, 0, -2, 0, 0, -4],
  2002. [18, 1, 5, 0, 0, 9],
  2003. [3, 5, 3, 6, 0, 4],
  2004. [2, 0, 8, 0, 0, 7],
  2005. [7, 0, 4, 0, 6, 0],
  2006. [0, 0, 1, 0, 0, 0]
  2007. ],
  2008. [
  2009. [-1, 1, 1, 1, 1, 1],
  2010. [1, 3, 1, 3, 1, 3],
  2011. [1, 1, 4, 1, 1, 4],
  2012. [1, 3, 1, 7, 1, 3],
  2013. [1, 1, 1, 1, 6, 1],
  2014. [1, 3, 4, 3, 1, 12]
  2015. ],
  2016. ],
  2017. [
  2018. [
  2019. [-1, 1, 1, 1, 1, 1],
  2020. [1, 3, 1, 3, 1, 3],
  2021. [1, 1, 4, 1, 1, 4],
  2022. [1, -3, 1, 7, 1, 3],
  2023. [1, 1, 1, 1, 6, 1],
  2024. [1, 3, 4, 3, 1, 12]
  2025. ],
  2026. [
  2027. [1, 0, 0, 0, 0, 0],
  2028. [0, 2, 0, 0, 0, 0],
  2029. [0, 0, 3, 0, 0, 0],
  2030. [0, 0, 0, 4, 0, 0],
  2031. [0, 0, 0, 0, 5, 0],
  2032. [0, 0, 0, 0, 0, 6]
  2033. ],
  2034. ],
  2035. [
  2036. [
  2037. [-1, 0, 0, 0, 0, 0],
  2038. [0, 2, 0, 0, 0, 0],
  2039. [0, 0, 3, 0, 0, 0],
  2040. [0, 0, 0, 4, 0, 0],
  2041. [0, 0, 0, 0, 5, 0],
  2042. [0, 0, 0, 0, 0, 6]
  2043. ],
  2044. [
  2045. [-1, 0, 0, 0, 0, 0],
  2046. [0, 2, 0, 0, 0, 0],
  2047. [0, 0, 0, 4, 0, 0],
  2048. [0, 0, 3, 0, 0, 0],
  2049. [0, 0, 0, 0, 5, 0],
  2050. [0, 0, 0, 0, 0, 6]
  2051. ],
  2052. ],
  2053. [
  2054. [
  2055. [0, 1, 4, 3, 2, 3, 3, 4, 4],
  2056. [1, 0, 3, 2, 1, 2, 2, 3, 3],
  2057. [4, 3, 0, 1, 2, 3, 3, 4, 4],
  2058. [3, 2, 1, 0, 1, 2, 2, 3, 3],
  2059. [2, 1, 2, 1, 0, 1, 1, 2, 2],
  2060. [3, 2, 3, 2, 1, 0, 2, 3, 3],
  2061. [3, 2, 3, 2, 1, 2, 0, 1, 2],
  2062. [4, 3, 4, 3, 2, 3, 1, 0, 2],
  2063. [4, 3, 4, 3, 2, 3, 2, 2, 0],
  2064. ],
  2065. [
  2066. [2, 1, 4, 3, 2, 3, 3, 4, 4],
  2067. [1, 2, 3, 2, 1, 2, 2, 3, 3],
  2068. [4, 3, 2, 1, 2, 3, 3, 4, 4],
  2069. [3, 2, 1, 2, 1, 2, 2, 3, 3],
  2070. [2, 1, 2, 1, 2, 1, 1, 2, 2],
  2071. [3, 2, 3, 2, 1, 2, 2, 3, 3],
  2072. [3, 2, 3, 2, 1, 2, 2, 1, 2],
  2073. [4, 3, 4, 3, 2, 3, 1, 2, 2],
  2074. [4, 3, 4, 3, 2, 3, 2, 2, 2],
  2075. ],
  2076. ],
  2077. [
  2078. [
  2079. [2, -1, 4, 3, 2, 3, 3, 4, 4],
  2080. [1, 2, 3, 2, 1, 2, 2, 3, 3],
  2081. [4, 3, 2, 1, 2, 3, 3, 4, 4],
  2082. [3, 2, 1, 2, 1, 2, 2, 3, 3],
  2083. [2, 1, 2, 1, 2, 1, 1, 2, 2],
  2084. [3, 2, 3, 2, 1, 2, 2, 3, 3],
  2085. [3, 2, 3, 2, 1, 2, 2, 1, 2],
  2086. [4, 3, 4, 3, 2, 3, 1, 2, 2],
  2087. [4, 3, 4, 3, 2, 3, 2, 2, 2],
  2088. ],
  2089. [
  2090. [2, 1, 4, 3, 2, 3, 3, 4, 4],
  2091. [-1, 2, 3, 2, 1, 2, 2, 3, 3],
  2092. [4, 3, 2, 1, 2, 3, 3, 4, 4],
  2093. [3, 2, 1, 2, 1, 2, 2, 3, 3],
  2094. [2, 1, 2, 1, 2, 1, 1, 2, 2],
  2095. [3, 2, 3, 2, 1, 2, 2, 3, 3],
  2096. [3, 2, 3, 2, 1, 2, 2, 1, 2],
  2097. [4, 3, 4, 3, 2, 3, 1, 2, 2],
  2098. [4, 3, 4, 3, 2, 3, 2, 2, 2],
  2099. ],
  2100. ],
  2101. [
  2102. [
  2103. [2, -1, 4, 3, 2, 3, 3, 4, 4],
  2104. [-1, 2, 3, 2, 1, 2, 2, 3, 3],
  2105. [4, 3, 2, 1, 2, 3, 3, 4, 4],
  2106. [3, 2, 1, 2, 1, 2, 2, 3, 3],
  2107. [2, 1, 2, 1, 2, 1, 1, 2, 2],
  2108. [3, 2, 3, 2, 1, 2, 2, 3, 3],
  2109. [3, 2, 3, 2, 1, 2, 2, 1, 2],
  2110. [4, 3, 4, 3, 2, 3, 1, 2, 2],
  2111. [4, 3, 4, 3, 2, 3, 2, 2, 2],
  2112. ],
  2113. [
  2114. [2, -1, 4, 3, 2, 3, 3, 4, 4],
  2115. [-1, 2, 3, 2, 1, 2, 2, 3, 3],
  2116. [4, 3, 2, 1, 2, 3, 3, 4, 4],
  2117. [2, 1, 2, 1, 2, 1, 1, 2, 2],
  2118. [3, 2, 1, 2, 1, 2, 2, 3, 3],
  2119. [3, 2, 3, 2, 1, 2, 2, 3, 3],
  2120. [3, 2, 3, 2, 1, 2, 2, 1, 2],
  2121. [4, 3, 4, 3, 2, 3, 1, 2, 2],
  2122. [4, 3, 4, 3, 2, 3, 2, 2, 2],
  2123. ],
  2124. ],
  2125. ];
  2126. }
  2127. public function dataProviderForPositiveDefiniteMatrix(): array
  2128. {
  2129. return [
  2130. [
  2131. [
  2132. [2, -1],
  2133. [-1, 2],
  2134. ],
  2135. ],
  2136. [
  2137. [
  2138. [1, -1],
  2139. [-1, 4],
  2140. ],
  2141. ],
  2142. [
  2143. [
  2144. [5, 2],
  2145. [2, 3],
  2146. ],
  2147. ],
  2148. [
  2149. [
  2150. [6, 4],
  2151. [4, 5],
  2152. ],
  2153. ],
  2154. [
  2155. [
  2156. [12, -12],
  2157. [-12, 96],
  2158. ],
  2159. ],
  2160. [
  2161. [
  2162. [2, -1, 0],
  2163. [-1, 2, -1],
  2164. [0, -1, 2],
  2165. ],
  2166. ],
  2167. [
  2168. [
  2169. [2, -1, 1],
  2170. [-1, 2, -1],
  2171. [1, -1, 2],
  2172. ],
  2173. ],
  2174. [
  2175. [
  2176. [1, 0, 0],
  2177. [0, 3, 0],
  2178. [0, 0, 2],
  2179. ],
  2180. ],
  2181. [
  2182. [
  2183. [3, -2, 0],
  2184. [-2, 2, 0],
  2185. [0, 0, 2],
  2186. ],
  2187. ],
  2188. [
  2189. [
  2190. [4, 1, -1],
  2191. [1, 2, 1],
  2192. [-1, 1, 2],
  2193. ],
  2194. ],
  2195. [
  2196. [
  2197. [9, -3, 3, 9],
  2198. [-3, 17, -1, -7],
  2199. [3, -1, 17, 15],
  2200. [9, -7, 15, 44],
  2201. ],
  2202. ],
  2203. [
  2204. [
  2205. [14, 4, 9],
  2206. [4, 14, -7],
  2207. [9, -7, 14],
  2208. ],
  2209. ],
  2210. [
  2211. [
  2212. [13, 0, -3],
  2213. [0, 9, 9],
  2214. [-3, 9, 10],
  2215. ],
  2216. ],
  2217. [
  2218. [
  2219. [14, -7, -13],
  2220. [-7, 6, 5],
  2221. [-13, 5, 14],
  2222. ],
  2223. ],
  2224. ];
  2225. }
  2226. public function dataProviderForNotPositiveDefiniteMatrix(): array
  2227. {
  2228. return [
  2229. // Not square
  2230. [
  2231. [
  2232. [1, 2, 3],
  2233. [2, 3, 4],
  2234. ],
  2235. ],
  2236. [
  2237. [
  2238. [1, 2],
  2239. [2, 3],
  2240. [3, 4],
  2241. ],
  2242. ],
  2243. // Not symmetric
  2244. [
  2245. [
  2246. [2, -1, 1],
  2247. [-1, 2, -1],
  2248. [2, -1, 2],
  2249. ],
  2250. ],
  2251. [
  2252. [
  2253. [2, -1, 1],
  2254. [-4, 2, -1],
  2255. [1, -1, 2],
  2256. ],
  2257. ],
  2258. [
  2259. [
  2260. [9, -13, 3, 9],
  2261. [-3, 17, -1, -7],
  2262. [3, -1, 17, 15],
  2263. [9, -7, 15, 44],
  2264. ],
  2265. ],
  2266. // Square and symmetric but fails determinate test
  2267. [
  2268. [
  2269. [0, 0],
  2270. [0, 0],
  2271. ],
  2272. ],
  2273. [
  2274. [
  2275. [1, 4],
  2276. [4, 1],
  2277. ]
  2278. ],
  2279. [
  2280. [
  2281. [-1, 0],
  2282. [0, -3],
  2283. ],
  2284. ],
  2285. ];
  2286. }
  2287. public function dataProviderForPositiveSemidefiniteMatrix(): array
  2288. {
  2289. return [
  2290. [
  2291. [
  2292. [0, 0],
  2293. [0, 0],
  2294. ],
  2295. ],
  2296. [
  2297. [
  2298. [1, 0],
  2299. [0, 1],
  2300. ],
  2301. ],
  2302. [
  2303. [
  2304. [1, 0],
  2305. [0, 2],
  2306. ],
  2307. ],
  2308. [
  2309. [
  2310. [1, 1],
  2311. [1, 1],
  2312. ],
  2313. ],
  2314. [
  2315. [
  2316. [2, -1],
  2317. [-1, 2],
  2318. ],
  2319. ],
  2320. [
  2321. [
  2322. [0, 0, 0],
  2323. [0, 3, 0],
  2324. [0, 0, 3],
  2325. ],
  2326. ],
  2327. [
  2328. [
  2329. [2, -1, -1],
  2330. [-1, 2, -1],
  2331. [-1, -1, 2],
  2332. ],
  2333. ],
  2334. [
  2335. [
  2336. [2, -1, 0],
  2337. [-1, 2, -1],
  2338. [0, -1, 2],
  2339. ],
  2340. ],
  2341. [
  2342. [
  2343. [2, -1, 1],
  2344. [-1, 2, -1],
  2345. [1, -1, 2],
  2346. ],
  2347. ],
  2348. [
  2349. [
  2350. [2, -1, 2],
  2351. [-1, 2, -1],
  2352. [2, -1, 2],
  2353. ],
  2354. ],
  2355. [
  2356. [
  2357. [9, -3, 3, 9],
  2358. [-3, 17, -1, -7],
  2359. [3, -1, 17, 15],
  2360. [9, -7, 15, 44],
  2361. ],
  2362. ],
  2363. ];
  2364. }
  2365. public function dataProviderForNotPositiveSemidefiniteMatrix(): array
  2366. {
  2367. return [
  2368. // Square and symmetric but fails determinate test
  2369. [
  2370. [
  2371. [0, -4],
  2372. [-4, 0],
  2373. ],
  2374. ],
  2375. [
  2376. [
  2377. [1, 4],
  2378. [4, 1],
  2379. ]
  2380. ],
  2381. [
  2382. [
  2383. [-1, 0],
  2384. [0, -3],
  2385. ],
  2386. ],
  2387. ];
  2388. }
  2389. public function dataProviderForNegativeDefiniteMatrix(): array
  2390. {
  2391. return [
  2392. [
  2393. [
  2394. [-1, 1],
  2395. [1, -2],
  2396. ],
  2397. ],
  2398. [
  2399. [
  2400. [-3, 0, 0],
  2401. [0, -2, 0],
  2402. [0, 0, -1],
  2403. ],
  2404. ],
  2405. ];
  2406. }
  2407. public function dataProviderForNotNegativeDefiniteMatrix(): array
  2408. {
  2409. return [
  2410. // Square and symmetric but fails determinate test
  2411. [
  2412. [
  2413. [0, -4],
  2414. [-4, 0],
  2415. ],
  2416. ],
  2417. [
  2418. [
  2419. [1, 4],
  2420. [4, 1],
  2421. ]
  2422. ],
  2423. [
  2424. [
  2425. [1, 0],
  2426. [0, -3],
  2427. ],
  2428. ],
  2429. [
  2430. [
  2431. [-1, 4],
  2432. [4, -1],
  2433. ]
  2434. ],
  2435. ];
  2436. }
  2437. public function dataProviderForNegativeSemidefiniteMatrix(): array
  2438. {
  2439. return [
  2440. [
  2441. [
  2442. [0, 0],
  2443. [0, 0],
  2444. ],
  2445. ],
  2446. [
  2447. [
  2448. [0, 0],
  2449. [0, -1],
  2450. ],
  2451. ],
  2452. [
  2453. [
  2454. [-1, -1],
  2455. [-1, -1],
  2456. ],
  2457. ],
  2458. ];
  2459. }
  2460. public function dataProviderForNotNegativeSemidefiniteMatrix(): array
  2461. {
  2462. return [
  2463. // Square and symmetric but fails determinate test
  2464. [
  2465. [
  2466. [0, -4],
  2467. [-4, 0],
  2468. ],
  2469. ],
  2470. [
  2471. [
  2472. [1, 4],
  2473. [4, 1],
  2474. ]
  2475. ],
  2476. [
  2477. [
  2478. [1, 0],
  2479. [0, -3],
  2480. ],
  2481. ],
  2482. ];
  2483. }
  2484. public function dataProviderForUpperTriangularMatrix(): array
  2485. {
  2486. return [
  2487. [
  2488. [
  2489. [1],
  2490. ],
  2491. ],
  2492. [
  2493. [
  2494. [0],
  2495. ],
  2496. ],
  2497. [
  2498. [
  2499. [1, 1],
  2500. [0, 1],
  2501. ]
  2502. ],
  2503. [
  2504. [
  2505. [1, 2],
  2506. [0, 4],
  2507. ],
  2508. ],
  2509. [
  2510. [
  2511. [1, 1, 1],
  2512. [0, 1, 1],
  2513. [0, 0, 1],
  2514. ],
  2515. ],
  2516. [
  2517. [
  2518. [1, 0, 0],
  2519. [0, 1, 0],
  2520. [0, 0, 1],
  2521. ],
  2522. ],
  2523. [
  2524. [
  2525. [0, 0, 0],
  2526. [0, 0, 0],
  2527. [0, 0, 0],
  2528. ],
  2529. ],
  2530. [
  2531. [
  2532. [1, 2, 3],
  2533. [0, 4, 5],
  2534. [0, 0, 6],
  2535. ],
  2536. ],
  2537. [
  2538. [
  2539. [6, 5, 4],
  2540. [0, 8, 8],
  2541. [0, 0, 9],
  2542. ],
  2543. ],
  2544. [
  2545. [
  2546. [6, 5, 4],
  2547. [0, 8, 8],
  2548. [0, 0, 0],
  2549. ],
  2550. ],
  2551. [
  2552. [
  2553. [1, 2, 3, 4],
  2554. [0, 4, 5, 6],
  2555. [0, 0, 6, 7],
  2556. [0, 0, 0, 8],
  2557. ],
  2558. ],
  2559. [
  2560. [
  2561. [-1, 0, 0, 0, 0, 0],
  2562. [0, 2, 0, 0, 0, 0],
  2563. [0, 0, 3, 0, 0, 0],
  2564. [0, 0, 0, 4, 0, 0],
  2565. [0, 0, 0, 0, 5, 0],
  2566. [0, 0, 0, 0, 0, 6],
  2567. ],
  2568. ],
  2569. [
  2570. [
  2571. [1, 0, 0, 0, 0, 0],
  2572. [0, 2, 0, 0, 0, 0],
  2573. [0, 0, 3, 0, 0, 0],
  2574. [0, 0, 0, 4, 0, 0],
  2575. [0, 0, 0, 0, 5, 0],
  2576. [0, 0, 0, 0, 0, 6],
  2577. ],
  2578. ],
  2579. [
  2580. [
  2581. [1, 0, 0, 0, 0, 0],
  2582. [0, 2, 0, 0, 0, 0],
  2583. [0, 0, 0, 0, 0, 0],
  2584. [0, 0, 0, 0, 0, 0],
  2585. [0, 0, 0, 0, 5, 0],
  2586. [0, 0, 0, 0, 0, 6],
  2587. ],
  2588. ],
  2589. ];
  2590. }
  2591. public function dataProviderForNotTriangularMatrix(): array
  2592. {
  2593. return [
  2594. [
  2595. [
  2596. [0, 1],
  2597. [1, 0],
  2598. ]
  2599. ],
  2600. [
  2601. [
  2602. [0, 1],
  2603. [1, 1],
  2604. ]
  2605. ],
  2606. [
  2607. [
  2608. [1, 8],
  2609. [1, 1],
  2610. ]
  2611. ],
  2612. [
  2613. [
  2614. [1, 1],
  2615. [1, 0],
  2616. ]
  2617. ],
  2618. [
  2619. [
  2620. [1, 2, 3],
  2621. [2, 3, 4],
  2622. ],
  2623. ],
  2624. [
  2625. [
  2626. [-7, -6, -12],
  2627. [5, 5, 7],
  2628. [1, 0, 4],
  2629. ],
  2630. ],
  2631. [
  2632. [
  2633. [3, 8],
  2634. [4, 6],
  2635. ],
  2636. ],
  2637. [
  2638. [
  2639. [4, 3],
  2640. [3, 2],
  2641. ],
  2642. ],
  2643. [
  2644. [
  2645. [6, 1, 1],
  2646. [4, -2, 5],
  2647. [2, 8, 7],
  2648. ],
  2649. ],
  2650. [
  2651. [
  2652. [1, 2, 0],
  2653. [-1, 1, 1],
  2654. [1, 2, 3],
  2655. ],
  2656. ],
  2657. [
  2658. [
  2659. [4, 6, 3, 2],
  2660. [3, 6, 5, 3],
  2661. [5, 7, 8, 6],
  2662. [5, 4, 3, 2],
  2663. ],
  2664. ],
  2665. [
  2666. [
  2667. [3, 2, 0, 1],
  2668. [4, 0, 1, 2],
  2669. [3, 0, 2, 1],
  2670. [9, 2, 3, 1],
  2671. ],
  2672. ],
  2673. [
  2674. [
  2675. [1, 2, 3, 4],
  2676. [5, 6, 7, 8],
  2677. [2, 6, 4, 8],
  2678. [3, 1, 1, 2],
  2679. ],
  2680. ],
  2681. [
  2682. [
  2683. [7, 4, 2, 0],
  2684. [6, 3, -1, 2],
  2685. [4, 6, 2, 5],
  2686. [8, 2, -7, 1],
  2687. ],
  2688. ],
  2689. [
  2690. [
  2691. [-4, 3, 1, 5, -8],
  2692. [6, 0, 9, 2, 6],
  2693. [-1, 4, 4, 0, 2],
  2694. [8, -1, 3, 4, 0],
  2695. [5, 9, -7, -7, 1]
  2696. ],
  2697. ],
  2698. [
  2699. [
  2700. [4, 3, 1, 5, -8],
  2701. [6, 0, 9, 2, 6],
  2702. [-1, 4, 4, 0, 2],
  2703. [8, -1, 3, 4, 0],
  2704. [5, 9, -7, -7, 1]
  2705. ],
  2706. ],
  2707. [
  2708. [
  2709. [4, 3, 1, 5, 8],
  2710. [6, 0, 9, 2, 6],
  2711. [-1, 4, 4, 0, 2],
  2712. [8, -1, 3, 4, 0],
  2713. [5, 9, -7, -7, 1]
  2714. ],
  2715. ],
  2716. [
  2717. [
  2718. [4, 3, 1, 5, 8],
  2719. [6, 0, 9, 2, 6],
  2720. [1, 4, 4, 0, 2],
  2721. [8, -1, 3, 4, 0],
  2722. [5, 9, -7, -7, 1]
  2723. ],
  2724. ],
  2725. [
  2726. [
  2727. [4, 3, 1, 5, 8],
  2728. [6, 0, 9, 2, 6],
  2729. [1, 4, 4, 0, 2],
  2730. [8, 1, 3, 4, 0],
  2731. [5, 9, -7, -7, 1]
  2732. ],
  2733. ],
  2734. [
  2735. [
  2736. [4, 3, 1, 5, 8],
  2737. [6, 0, 9, 2, 6],
  2738. [1, 4, 4, 0, 2],
  2739. [8, 1, 3, 4, 0],
  2740. [5, 9, 7, -7, 1]
  2741. ],
  2742. ],
  2743. [
  2744. [
  2745. [4, 3, 1, 5, 8],
  2746. [6, 0, 9, 2, 6],
  2747. [1, 4, 4, 0, 2],
  2748. [8, 1, 3, 4, 0],
  2749. [5, 9, 7, 7, 1]
  2750. ],
  2751. ],
  2752. [
  2753. [
  2754. [5, 2, 0, 0, -2],
  2755. [0, 1, 4, 3, 2],
  2756. [0, 0, 2, 6, 3],
  2757. [0, 0, 3, 4, 1],
  2758. [0, 0, 0, 0, 2],
  2759. ],
  2760. ],
  2761. [
  2762. [
  2763. [5, 2, 0, 0, 2],
  2764. [0, 1, 4, 3, 2],
  2765. [0, 0, 2, 6, 3],
  2766. [0, 0, 3, 4, 1],
  2767. [0, 0, 0, 0, 2],
  2768. ],
  2769. ],
  2770. [
  2771. [
  2772. [5, 2, 0, 0, -2],
  2773. [0, -1, 4, 3, 2],
  2774. [0, 0, 2, 6, 3],
  2775. [0, 0, 3, 4, 1],
  2776. [0, 0, 0, 0, 2],
  2777. ],
  2778. ],
  2779. [
  2780. [
  2781. [2, -9, 1, 8, 4],
  2782. [-10, -1, 2, 7, 0],
  2783. [0, 4, -6, 1, -8],
  2784. [6, -14, 11, 0, 3],
  2785. [5, 1, -3, 2, -1],
  2786. ],
  2787. ],
  2788. [
  2789. [
  2790. [2, 9, 1, 8, 4],
  2791. [-10, -1, 2, 7, 0],
  2792. [0, 4, -6, 1, -8],
  2793. [6, -14, 11, 0, 3],
  2794. [5, 1, -3, 2, -1],
  2795. ],
  2796. ],
  2797. [
  2798. [
  2799. [2, 9, 1, 8, 4],
  2800. [10, -1, 2, 7, 0],
  2801. [0, 4, -6, 1, -8],
  2802. [6, -14, 11, 0, 3],
  2803. [5, 1, -3, 2, -1],
  2804. ],
  2805. ],
  2806. [
  2807. [
  2808. [2, 9, 1, 8, 4],
  2809. [10, 1, 2, 7, 0],
  2810. [0, 4, -6, 1, -8],
  2811. [6, -14, 11, 0, 3],
  2812. [5, 1, -3, 2, -1],
  2813. ],
  2814. ],
  2815. [
  2816. [
  2817. [276,1,179,23, 9387],
  2818. [0, 0, 78, 0, 0],
  2819. [0, 0, -1, 0, 1],
  2820. [0, 0, 1994, -1, 1089],
  2821. [1, 0, 212, 726, -378],
  2822. ],
  2823. ],
  2824. [
  2825. [
  2826. [276,1,179,23, 9387],
  2827. [0, 0, 78, 0, 0],
  2828. [0, 0, 1, 0, 1],
  2829. [0, 0, 1994, -1, 1089],
  2830. [1, 0, 212, 726, -378],
  2831. ],
  2832. ],
  2833. [
  2834. [
  2835. [276,1,179,23, 9387],
  2836. [0, 0, 78, 0, 0],
  2837. [0, 0, 1, 0, 1],
  2838. [0, 0, 1994, 1, 1089],
  2839. [1, 0, 212, 726, -378],
  2840. ],
  2841. ],
  2842. [
  2843. [
  2844. [276,1,179,23, 9387],
  2845. [0, 0, 78, 0, 0],
  2846. [0, 0, 1, 0, 1],
  2847. [0, 0, 1994, 1, 1089],
  2848. [1, 0, 212, 726, 378],
  2849. ],
  2850. ],
  2851. [
  2852. [
  2853. [276,1,179,23, -9387],
  2854. [0, 0, 78, 0, 0],
  2855. [0, 0, 1, 0, 1],
  2856. [0, 0, 1994, 1, 1089],
  2857. [1, 0, 212, 726, 378],
  2858. ],
  2859. ],
  2860. [
  2861. [
  2862. [1, 0, 3, 5, 1],
  2863. [0, 1, 5, 1, 0],
  2864. [0, 4, 0, 0, 2],
  2865. [2, 3, 1, 2, 0],
  2866. [1, 0, 0, 1, 1],
  2867. ],
  2868. ],
  2869. [
  2870. [
  2871. [2, 3, 4, 1, 3],
  2872. [6, 1, 3, 1, 2],
  2873. [6, 3, 1, 2, 5],
  2874. [4, 2, 4, 7, 8],
  2875. [2, 1, 2, 4, 2],
  2876. ],
  2877. ],
  2878. [
  2879. [
  2880. [2, 3, -4, 1, 3],
  2881. [6, 1, 3, 1, 2],
  2882. [6, 3, 1, 2, 5],
  2883. [4, 2, 4, 7, 8],
  2884. [2, 1, 2, 4, 2],
  2885. ],
  2886. ],
  2887. [
  2888. [
  2889. [2, 3, -4, 1, 3],
  2890. [6, 1, -3, 1, 2],
  2891. [6, 3, 1, 2, 5],
  2892. [4, 2, 4, 7, 8],
  2893. [2, 1, 2, 4, 2],
  2894. ],
  2895. ],
  2896. [
  2897. [
  2898. [2, 3, -4, 1, 3],
  2899. [6, 1, -3, 1, 2],
  2900. [6, 3, -1, 2, 5],
  2901. [4, 2, 4, 7, 8],
  2902. [2, 1, 2, 4, 2],
  2903. ],
  2904. ],
  2905. [
  2906. [
  2907. [2, 3, -4, 1, 3],
  2908. [6, 1, -3, 1, 2],
  2909. [6, 3, -1, 2, 5],
  2910. [4, 2, -4, 7, 8],
  2911. [2, 1, 2, 4, 2],
  2912. ],
  2913. ],
  2914. [
  2915. [
  2916. [2, 3, -4, 1, 3],
  2917. [6, 1, -3, 1, 2],
  2918. [6, 3, -1, 2, 5],
  2919. [4, 2, -4, 7, 8],
  2920. [2, 1, -2, 4, 2],
  2921. ],
  2922. ],
  2923. [
  2924. [
  2925. [2, 3, -4, -1, 3],
  2926. [6, 1, -3, 1, 2],
  2927. [6, 3, -1, 2, 5],
  2928. [4, 2, -4, 7, 8],
  2929. [2, 1, -2, 4, 2],
  2930. ],
  2931. ],
  2932. [
  2933. [
  2934. [2, 3, -4, -1, -3],
  2935. [6, 1, -3, -1, 2],
  2936. [6, 3, -1, 2, 5],
  2937. [4, 2, -4, 7, -8],
  2938. [2, 1, -2, 4, 2],
  2939. ],
  2940. ],
  2941. [
  2942. [
  2943. [2, 1, 2],
  2944. [1, 1, 1],
  2945. [2, 2, 5],
  2946. ],
  2947. ],
  2948. [
  2949. [
  2950. [1, 0, 2, -1],
  2951. [3, 0, 0, 5],
  2952. [2, 1, 4, -3],
  2953. [1, 0, 5, 0],
  2954. ],
  2955. ],
  2956. [
  2957. [
  2958. [1, 0, 2, 0, 0, 4],
  2959. [18, 1, 5, 0, 0, 9],
  2960. [3, 5, 3, 6, 0, 4],
  2961. [2, 0, 8, 0, 0, 7],
  2962. [7, 0, 4, 0, 6, 0],
  2963. [0, 0, 1, 0, 0, 0]
  2964. ],
  2965. ],
  2966. [
  2967. [
  2968. [-1, 0, 2, 0, 0, 4],
  2969. [18, 1, 5, 0, 0, 9],
  2970. [3, 5, 3, 6, 0, 4],
  2971. [2, 0, 8, 0, 0, 7],
  2972. [7, 0, 4, 0, 6, 0],
  2973. [0, 0, 1, 0, 0, 0]
  2974. ],
  2975. ],
  2976. [
  2977. [
  2978. [-1, 0, -2, 0, 0, 4],
  2979. [18, 1, 5, 0, 0, 9],
  2980. [3, 5, 3, 6, 0, 4],
  2981. [2, 0, 8, 0, 0, 7],
  2982. [7, 0, 4, 0, 6, 0],
  2983. [0, 0, 1, 0, 0, 0]
  2984. ],
  2985. ],
  2986. [
  2987. [
  2988. [-1, 0, -2, 0, 0, -4],
  2989. [18, 1, 5, 0, 0, 9],
  2990. [3, 5, 3, 6, 0, 4],
  2991. [2, 0, 8, 0, 0, 7],
  2992. [7, 0, 4, 0, 6, 0],
  2993. [0, 0, 1, 0, 0, 0]
  2994. ],
  2995. ],
  2996. [
  2997. [
  2998. [1, 1, 1, 1, 1, 1],
  2999. [1, 3, 1, 3, 1, 3],
  3000. [1, 1, 4, 1, 1, 4],
  3001. [1, 3, 1, 7, 1, 3],
  3002. [1, 1, 1, 1, 6, 1],
  3003. [1, 3, 4, 3, 1, 12]
  3004. ],
  3005. ],
  3006. [
  3007. [
  3008. [-1, 1, 1, 1, 1, 1],
  3009. [1, 3, 1, 3, 1, 3],
  3010. [1, 1, 4, 1, 1, 4],
  3011. [1, 3, 1, 7, 1, 3],
  3012. [1, 1, 1, 1, 6, 1],
  3013. [1, 3, 4, 3, 1, 12]
  3014. ],
  3015. ],
  3016. [
  3017. [
  3018. [-1, 1, 1, 1, 1, 1],
  3019. [1, 3, 1, 3, 1, 3],
  3020. [1, 1, 4, 1, 1, 4],
  3021. [1, -3, 1, 7, 1, 3],
  3022. [1, 1, 1, 1, 6, 1],
  3023. [1, 3, 4, 3, 1, 12]
  3024. ],
  3025. ],
  3026. [
  3027. [
  3028. [-1, 0, 0, 0, 0, 0],
  3029. [0, 2, 0, 0, 0, 0],
  3030. [0, 0, 0, 4, 0, 0],
  3031. [0, 0, 3, 0, 0, 0],
  3032. [0, 0, 0, 0, 5, 0],
  3033. [0, 0, 0, 0, 0, 6]
  3034. ],
  3035. ],
  3036. [
  3037. [
  3038. [0, 1, 4, 3, 2, 3, 3, 4, 4],
  3039. [1, 0, 3, 2, 1, 2, 2, 3, 3],
  3040. [4, 3, 0, 1, 2, 3, 3, 4, 4],
  3041. [3, 2, 1, 0, 1, 2, 2, 3, 3],
  3042. [2, 1, 2, 1, 0, 1, 1, 2, 2],
  3043. [3, 2, 3, 2, 1, 0, 2, 3, 3],
  3044. [3, 2, 3, 2, 1, 2, 0, 1, 2],
  3045. [4, 3, 4, 3, 2, 3, 1, 0, 2],
  3046. [4, 3, 4, 3, 2, 3, 2, 2, 0],
  3047. ],
  3048. ],
  3049. [
  3050. [
  3051. [2, 1, 4, 3, 2, 3, 3, 4, 4],
  3052. [1, 2, 3, 2, 1, 2, 2, 3, 3],
  3053. [4, 3, 2, 1, 2, 3, 3, 4, 4],
  3054. [3, 2, 1, 2, 1, 2, 2, 3, 3],
  3055. [2, 1, 2, 1, 2, 1, 1, 2, 2],
  3056. [3, 2, 3, 2, 1, 2, 2, 3, 3],
  3057. [3, 2, 3, 2, 1, 2, 2, 1, 2],
  3058. [4, 3, 4, 3, 2, 3, 1, 2, 2],
  3059. [4, 3, 4, 3, 2, 3, 2, 2, 2],
  3060. ],
  3061. ],
  3062. [
  3063. [
  3064. [2, -1, 4, 3, 2, 3, 3, 4, 4],
  3065. [1, 2, 3, 2, 1, 2, 2, 3, 3],
  3066. [4, 3, 2, 1, 2, 3, 3, 4, 4],
  3067. [3, 2, 1, 2, 1, 2, 2, 3, 3],
  3068. [2, 1, 2, 1, 2, 1, 1, 2, 2],
  3069. [3, 2, 3, 2, 1, 2, 2, 3, 3],
  3070. [3, 2, 3, 2, 1, 2, 2, 1, 2],
  3071. [4, 3, 4, 3, 2, 3, 1, 2, 2],
  3072. [4, 3, 4, 3, 2, 3, 2, 2, 2],
  3073. ],
  3074. ],
  3075. [
  3076. [
  3077. [2, 1, 4, 3, 2, 3, 3, 4, 4],
  3078. [-1, 2, 3, 2, 1, 2, 2, 3, 3],
  3079. [4, 3, 2, 1, 2, 3, 3, 4, 4],
  3080. [3, 2, 1, 2, 1, 2, 2, 3, 3],
  3081. [2, 1, 2, 1, 2, 1, 1, 2, 2],
  3082. [3, 2, 3, 2, 1, 2, 2, 3, 3],
  3083. [3, 2, 3, 2, 1, 2, 2, 1, 2],
  3084. [4, 3, 4, 3, 2, 3, 1, 2, 2],
  3085. [4, 3, 4, 3, 2, 3, 2, 2, 2],
  3086. ],
  3087. ],
  3088. [
  3089. [
  3090. [2, -1, 4, 3, 2, 3, 3, 4, 4],
  3091. [-1, 2, 3, 2, 1, 2, 2, 3, 3],
  3092. [4, 3, 2, 1, 2, 3, 3, 4, 4],
  3093. [3, 2, 1, 2, 1, 2, 2, 3, 3],
  3094. [2, 1, 2, 1, 2, 1, 1, 2, 2],
  3095. [3, 2, 3, 2, 1, 2, 2, 3, 3],
  3096. [3, 2, 3, 2, 1, 2, 2, 1, 2],
  3097. [4, 3, 4, 3, 2, 3, 1, 2, 2],
  3098. [4, 3, 4, 3, 2, 3, 2, 2, 2],
  3099. ],
  3100. ],
  3101. [
  3102. [
  3103. [2, -1, 4, 3, 2, 3, 3, 4, 4],
  3104. [-1, 2, 3, 2, 1, 2, 2, 3, 3],
  3105. [4, 3, 2, 1, 2, 3, 3, 4, 4],
  3106. [2, 1, 2, 1, 2, 1, 1, 2, 2],
  3107. [3, 2, 1, 2, 1, 2, 2, 3, 3],
  3108. [3, 2, 3, 2, 1, 2, 2, 3, 3],
  3109. [3, 2, 3, 2, 1, 2, 2, 1, 2],
  3110. [4, 3, 4, 3, 2, 3, 1, 2, 2],
  3111. [4, 3, 4, 3, 2, 3, 2, 2, 2],
  3112. ],
  3113. ],
  3114. ];
  3115. }
  3116. public function dataProviderForLowerTriangularMatrix(): array
  3117. {
  3118. return [
  3119. [
  3120. [
  3121. [1],
  3122. ],
  3123. ],
  3124. [
  3125. [
  3126. [0],
  3127. ],
  3128. ],
  3129. [
  3130. [
  3131. [1, 0],
  3132. [1, 1],
  3133. ],
  3134. ],
  3135. [
  3136. [
  3137. [0, 0],
  3138. [1, 0],
  3139. ],
  3140. ],
  3141. [
  3142. [
  3143. [0, 0],
  3144. [0, 0],
  3145. ],
  3146. ],
  3147. [
  3148. [
  3149. [1, 0, 0],
  3150. [1, 1, 0],
  3151. [1, 1, 1],
  3152. ],
  3153. ],
  3154. [
  3155. [
  3156. [0, 0, 0],
  3157. [0, 0, 0],
  3158. [0, 0, 0],
  3159. ],
  3160. ],
  3161. [
  3162. [
  3163. [1, 0, 0],
  3164. [0, 1, 0],
  3165. [0, 0, 1],
  3166. ],
  3167. ],
  3168. [
  3169. [
  3170. [1, 0, 0],
  3171. [0, 1, 0],
  3172. [0, 1, 0],
  3173. ],
  3174. ],
  3175. [
  3176. [
  3177. [1, 0, 0],
  3178. [2, 3, 0],
  3179. [4, 5, 6],
  3180. ],
  3181. ],
  3182. [
  3183. [
  3184. [1, 0, 0],
  3185. [2, 0, 0],
  3186. [4, 5, 6],
  3187. ],
  3188. ],
  3189. [
  3190. [
  3191. [1, 0, 0, 0],
  3192. [1, 1, 0, 0],
  3193. [1, 1, 1, 0],
  3194. [1, 1, 1, 1],
  3195. ],
  3196. ],
  3197. [
  3198. [
  3199. [5, 0, 0, 0],
  3200. [-6, 1, 0, 0],
  3201. [4, 6, 8, 0],
  3202. [6, 7, 7, -1],
  3203. ],
  3204. ],
  3205. [
  3206. [
  3207. [5, 0, 0, 0],
  3208. [-6, 1, 0, 0],
  3209. [4, 6, 0, 0],
  3210. [6, 7, 7, -1],
  3211. ],
  3212. ],
  3213. [
  3214. [
  3215. [1, 0, 0, 0, 0, 0],
  3216. [1, 2, 0, 0, 0, 0],
  3217. [1, 0, 3, 0, 0, 0],
  3218. [1, 2, 0, 4, 0, 0],
  3219. [1, 0, 0, 0, 5, 0],
  3220. [1, 2, 3, 0, 0, 6],
  3221. ],
  3222. ],
  3223. ];
  3224. }
  3225. public function dataProviderForDiagonalMatrix(): array
  3226. {
  3227. return [
  3228. [
  3229. [
  3230. [0],
  3231. ],
  3232. ],
  3233. [
  3234. [
  3235. [1],
  3236. ],
  3237. ],
  3238. [
  3239. [
  3240. [1, 0],
  3241. [0, 1],
  3242. ],
  3243. ],
  3244. [
  3245. [
  3246. [-5, 0],
  3247. [0, 3],
  3248. ],
  3249. ],
  3250. [
  3251. [
  3252. [1, 0, 0],
  3253. [0, 1, 0],
  3254. [0, 0, 1],
  3255. ],
  3256. ],
  3257. [
  3258. [
  3259. [1, 0, 0, 0],
  3260. [0, 1, 0, 0],
  3261. [0, 0, 1, 0],
  3262. [0, 0, 0, 1],
  3263. ],
  3264. ],
  3265. [
  3266. [
  3267. [0, 0, 0, 0],
  3268. [0, 1, 0, 0],
  3269. [0, 0, 1, 0],
  3270. [0, 0, 0, 1],
  3271. ],
  3272. ],
  3273. [
  3274. [
  3275. [0, 0, 0, 0],
  3276. [0, 0, 0, 0],
  3277. [0, 0, 0, 0],
  3278. [0, 0, 0, 0],
  3279. ],
  3280. ],
  3281. [
  3282. [
  3283. [1, 0, 0, 0, 0],
  3284. [0, 1, 0, 0, 0],
  3285. [0, 0, 1, 0, 0],
  3286. [0, 0, 0, 1, 0],
  3287. [0, 0, 0, 0, 1],
  3288. ],
  3289. ],
  3290. [
  3291. [
  3292. [1, 0, 0, 0, 0],
  3293. [0, 2, 0, 0, 0],
  3294. [0, 0, 3, 0, 0],
  3295. [0, 0, 0, 4, 0],
  3296. [0, 0, 0, 0, -6],
  3297. ],
  3298. ],
  3299. [
  3300. [
  3301. [-1, 0, 0, 0, 0, 0],
  3302. [0, 2, 0, 0, 0, 0],
  3303. [0, 0, 3, 0, 0, 0],
  3304. [0, 0, 0, 4, 0, 0],
  3305. [0, 0, 0, 0, 5, 0],
  3306. [0, 0, 0, 0, 0, 6],
  3307. ],
  3308. ],
  3309. [
  3310. [
  3311. [1, 0, 0, 0, 0, 0],
  3312. [0, 2, 0, 0, 0, 0],
  3313. [0, 0, 3, 0, 0, 0],
  3314. [0, 0, 0, 4, 0, 0],
  3315. [0, 0, 0, 0, 5, 0],
  3316. [0, 0, 0, 0, 0, 6],
  3317. ],
  3318. ],
  3319. [
  3320. [
  3321. [1, 0, 0, 0, 0, 0],
  3322. [0, 2, 0, 0, 0, 0],
  3323. [0, 0, 0, 0, 0, 0],
  3324. [0, 0, 0, 4, 0, 0],
  3325. [0, 0, 0, 0, 5, 0],
  3326. [0, 0, 0, 0, 0, 0],
  3327. ],
  3328. ],
  3329. ];
  3330. }
  3331. public function dataProviderForNotDiagonalMatrix(): array
  3332. {
  3333. return [
  3334. [
  3335. [
  3336. [1, 1],
  3337. [0, 1],
  3338. ]
  3339. ],
  3340. [
  3341. [
  3342. [1, 2],
  3343. [0, 4],
  3344. ],
  3345. ],
  3346. [
  3347. [
  3348. [1, 2, 3],
  3349. [0, 4, 5],
  3350. [0, 0, 6],
  3351. ],
  3352. ],
  3353. [
  3354. [
  3355. [6, 5, 4],
  3356. [0, 8, 8],
  3357. [0, 0, 9],
  3358. ],
  3359. ],
  3360. [
  3361. [
  3362. [1, 2, 3, 4],
  3363. [0, 4, 5, 6],
  3364. [0, 0, 6, 7],
  3365. [0, 0, 0, 8],
  3366. ],
  3367. ],
  3368. [
  3369. [
  3370. [-1, 0, 0, 0, 0, 1],
  3371. [0, 2, 0, 0, 0, 0],
  3372. [0, 0, 3, 0, 0, 0],
  3373. [0, 0, 0, 4, 0, 0],
  3374. [0, 0, 0, 0, 5, 0],
  3375. [0, 0, 0, 0, 0, 6],
  3376. ],
  3377. ],
  3378. [
  3379. [
  3380. [1, 0, 0, 0, 0, 0],
  3381. [0, 2, 0, 0, 0, 0],
  3382. [0, 0, 3, 0, 0, 0],
  3383. [0, 0, 0, 4, 0, 0],
  3384. [0, 0, 0, 0, 5, 0],
  3385. [1, 0, 0, 0, 0, 6],
  3386. ],
  3387. ],
  3388. [
  3389. [
  3390. [1, 0],
  3391. [1, 1],
  3392. ],
  3393. ],
  3394. [
  3395. [
  3396. [1, 0, 0],
  3397. [1, 1, 0],
  3398. [1, 1, 1],
  3399. ],
  3400. ],
  3401. [
  3402. [
  3403. [1, 0, 0],
  3404. [2, 3, 0],
  3405. [4, 5, 6],
  3406. ],
  3407. ],
  3408. [
  3409. [
  3410. [1, 0, 0, 0],
  3411. [1, 1, 0, 0],
  3412. [1, 1, 1, 0],
  3413. [1, 1, 1, 1],
  3414. ],
  3415. ],
  3416. [
  3417. [
  3418. [5, 0, 0, 0],
  3419. [-6, 1, 0, 0],
  3420. [4, 6, 8, 0],
  3421. [6, 7, 7, -1],
  3422. ],
  3423. ],
  3424. [
  3425. [
  3426. [1, 0, 0, 0, 0, 0],
  3427. [1, 2, 0, 0, 0, 0],
  3428. [1, 0, 3, 0, 0, 0],
  3429. [1, 2, 0, 4, 0, 0],
  3430. [1, 0, 0, 0, 5, 0],
  3431. [1, 2, 3, 0, 0, 6],
  3432. ],
  3433. ],
  3434. [
  3435. [
  3436. [0, 1],
  3437. [1, 0],
  3438. ]
  3439. ],
  3440. [
  3441. [
  3442. [0, 1],
  3443. [1, 1],
  3444. ]
  3445. ],
  3446. [
  3447. [
  3448. [1, 8],
  3449. [1, 1],
  3450. ]
  3451. ],
  3452. [
  3453. [
  3454. [1, 1],
  3455. [1, 0],
  3456. ]
  3457. ],
  3458. [
  3459. [
  3460. [1, 2, 3],
  3461. [2, 3, 4],
  3462. ],
  3463. ],
  3464. [
  3465. [
  3466. [-7, -6, -12],
  3467. [5, 5, 7],
  3468. [1, 0, 4],
  3469. ],
  3470. ],
  3471. [
  3472. [
  3473. [3, 8],
  3474. [4, 6],
  3475. ],
  3476. ],
  3477. [
  3478. [
  3479. [4, 3],
  3480. [3, 2],
  3481. ],
  3482. ],
  3483. [
  3484. [
  3485. [6, 1, 1],
  3486. [4, -2, 5],
  3487. [2, 8, 7],
  3488. ],
  3489. ],
  3490. [
  3491. [
  3492. [1, 2, 0],
  3493. [-1, 1, 1],
  3494. [1, 2, 3],
  3495. ],
  3496. ],
  3497. [
  3498. [
  3499. [4, 6, 3, 2],
  3500. [3, 6, 5, 3],
  3501. [5, 7, 8, 6],
  3502. [5, 4, 3, 2],
  3503. ],
  3504. ],
  3505. [
  3506. [
  3507. [3, 2, 0, 1],
  3508. [4, 0, 1, 2],
  3509. [3, 0, 2, 1],
  3510. [9, 2, 3, 1],
  3511. ],
  3512. ],
  3513. [
  3514. [
  3515. [1, 2, 3, 4],
  3516. [5, 6, 7, 8],
  3517. [2, 6, 4, 8],
  3518. [3, 1, 1, 2],
  3519. ],
  3520. ],
  3521. [
  3522. [
  3523. [7, 4, 2, 0],
  3524. [6, 3, -1, 2],
  3525. [4, 6, 2, 5],
  3526. [8, 2, -7, 1],
  3527. ],
  3528. ],
  3529. [
  3530. [
  3531. [-4, 3, 1, 5, -8],
  3532. [6, 0, 9, 2, 6],
  3533. [-1, 4, 4, 0, 2],
  3534. [8, -1, 3, 4, 0],
  3535. [5, 9, -7, -7, 1]
  3536. ],
  3537. ],
  3538. [
  3539. [
  3540. [4, 3, 1, 5, -8],
  3541. [6, 0, 9, 2, 6],
  3542. [-1, 4, 4, 0, 2],
  3543. [8, -1, 3, 4, 0],
  3544. [5, 9, -7, -7, 1]
  3545. ],
  3546. ],
  3547. [
  3548. [
  3549. [4, 3, 1, 5, 8],
  3550. [6, 0, 9, 2, 6],
  3551. [-1, 4, 4, 0, 2],
  3552. [8, -1, 3, 4, 0],
  3553. [5, 9, -7, -7, 1]
  3554. ],
  3555. ],
  3556. [
  3557. [
  3558. [4, 3, 1, 5, 8],
  3559. [6, 0, 9, 2, 6],
  3560. [1, 4, 4, 0, 2],
  3561. [8, -1, 3, 4, 0],
  3562. [5, 9, -7, -7, 1]
  3563. ],
  3564. ],
  3565. [
  3566. [
  3567. [4, 3, 1, 5, 8],
  3568. [6, 0, 9, 2, 6],
  3569. [1, 4, 4, 0, 2],
  3570. [8, 1, 3, 4, 0],
  3571. [5, 9, -7, -7, 1]
  3572. ],
  3573. ],
  3574. [
  3575. [
  3576. [4, 3, 1, 5, 8],
  3577. [6, 0, 9, 2, 6],
  3578. [1, 4, 4, 0, 2],
  3579. [8, 1, 3, 4, 0],
  3580. [5, 9, 7, -7, 1]
  3581. ],
  3582. ],
  3583. [
  3584. [
  3585. [4, 3, 1, 5, 8],
  3586. [6, 0, 9, 2, 6],
  3587. [1, 4, 4, 0, 2],
  3588. [8, 1, 3, 4, 0],
  3589. [5, 9, 7, 7, 1]
  3590. ],
  3591. ],
  3592. [
  3593. [
  3594. [5, 2, 0, 0, -2],
  3595. [0, 1, 4, 3, 2],
  3596. [0, 0, 2, 6, 3],
  3597. [0, 0, 3, 4, 1],
  3598. [0, 0, 0, 0, 2],
  3599. ],
  3600. ],
  3601. [
  3602. [
  3603. [5, 2, 0, 0, 2],
  3604. [0, 1, 4, 3, 2],
  3605. [0, 0, 2, 6, 3],
  3606. [0, 0, 3, 4, 1],
  3607. [0, 0, 0, 0, 2],
  3608. ],
  3609. ],
  3610. [
  3611. [
  3612. [5, 2, 0, 0, -2],
  3613. [0, -1, 4, 3, 2],
  3614. [0, 0, 2, 6, 3],
  3615. [0, 0, 3, 4, 1],
  3616. [0, 0, 0, 0, 2],
  3617. ],
  3618. ],
  3619. [
  3620. [
  3621. [2, -9, 1, 8, 4],
  3622. [-10, -1, 2, 7, 0],
  3623. [0, 4, -6, 1, -8],
  3624. [6, -14, 11, 0, 3],
  3625. [5, 1, -3, 2, -1],
  3626. ],
  3627. ],
  3628. [
  3629. [
  3630. [2, 9, 1, 8, 4],
  3631. [-10, -1, 2, 7, 0],
  3632. [0, 4, -6, 1, -8],
  3633. [6, -14, 11, 0, 3],
  3634. [5, 1, -3, 2, -1],
  3635. ],
  3636. ],
  3637. [
  3638. [
  3639. [2, 9, 1, 8, 4],
  3640. [10, -1, 2, 7, 0],
  3641. [0, 4, -6, 1, -8],
  3642. [6, -14, 11, 0, 3],
  3643. [5, 1, -3, 2, -1],
  3644. ],
  3645. ],
  3646. [
  3647. [
  3648. [2, 9, 1, 8, 4],
  3649. [10, 1, 2, 7, 0],
  3650. [0, 4, -6, 1, -8],
  3651. [6, -14, 11, 0, 3],
  3652. [5, 1, -3, 2, -1],
  3653. ],
  3654. ],
  3655. [
  3656. [
  3657. [276,1,179,23, 9387],
  3658. [0, 0, 78, 0, 0],
  3659. [0, 0, -1, 0, 1],
  3660. [0, 0, 1994, -1, 1089],
  3661. [1, 0, 212, 726, -378],
  3662. ],
  3663. ],
  3664. [
  3665. [
  3666. [276,1,179,23, 9387],
  3667. [0, 0, 78, 0, 0],
  3668. [0, 0, 1, 0, 1],
  3669. [0, 0, 1994, -1, 1089],
  3670. [1, 0, 212, 726, -378],
  3671. ],
  3672. ],
  3673. [
  3674. [
  3675. [276,1,179,23, 9387],
  3676. [0, 0, 78, 0, 0],
  3677. [0, 0, 1, 0, 1],
  3678. [0, 0, 1994, 1, 1089],
  3679. [1, 0, 212, 726, -378],
  3680. ],
  3681. ],
  3682. [
  3683. [
  3684. [276,1,179,23, 9387],
  3685. [0, 0, 78, 0, 0],
  3686. [0, 0, 1, 0, 1],
  3687. [0, 0, 1994, 1, 1089],
  3688. [1, 0, 212, 726, 378],
  3689. ],
  3690. ],
  3691. [
  3692. [
  3693. [276,1,179,23, -9387],
  3694. [0, 0, 78, 0, 0],
  3695. [0, 0, 1, 0, 1],
  3696. [0, 0, 1994, 1, 1089],
  3697. [1, 0, 212, 726, 378],
  3698. ],
  3699. ],
  3700. [
  3701. [
  3702. [1, 0, 3, 5, 1],
  3703. [0, 1, 5, 1, 0],
  3704. [0, 4, 0, 0, 2],
  3705. [2, 3, 1, 2, 0],
  3706. [1, 0, 0, 1, 1],
  3707. ],
  3708. ],
  3709. [
  3710. [
  3711. [2, 3, 4, 1, 3],
  3712. [6, 1, 3, 1, 2],
  3713. [6, 3, 1, 2, 5],
  3714. [4, 2, 4, 7, 8],
  3715. [2, 1, 2, 4, 2],
  3716. ],
  3717. ],
  3718. [
  3719. [
  3720. [2, 3, -4, 1, 3],
  3721. [6, 1, 3, 1, 2],
  3722. [6, 3, 1, 2, 5],
  3723. [4, 2, 4, 7, 8],
  3724. [2, 1, 2, 4, 2],
  3725. ],
  3726. ],
  3727. [
  3728. [
  3729. [2, 3, -4, 1, 3],
  3730. [6, 1, -3, 1, 2],
  3731. [6, 3, 1, 2, 5],
  3732. [4, 2, 4, 7, 8],
  3733. [2, 1, 2, 4, 2],
  3734. ],
  3735. ],
  3736. [
  3737. [
  3738. [2, 3, -4, 1, 3],
  3739. [6, 1, -3, 1, 2],
  3740. [6, 3, -1, 2, 5],
  3741. [4, 2, 4, 7, 8],
  3742. [2, 1, 2, 4, 2],
  3743. ],
  3744. ],
  3745. [
  3746. [
  3747. [2, 3, -4, 1, 3],
  3748. [6, 1, -3, 1, 2],
  3749. [6, 3, -1, 2, 5],
  3750. [4, 2, -4, 7, 8],
  3751. [2, 1, 2, 4, 2],
  3752. ],
  3753. ],
  3754. [
  3755. [
  3756. [2, 3, -4, 1, 3],
  3757. [6, 1, -3, 1, 2],
  3758. [6, 3, -1, 2, 5],
  3759. [4, 2, -4, 7, 8],
  3760. [2, 1, -2, 4, 2],
  3761. ],
  3762. ],
  3763. [
  3764. [
  3765. [2, 3, -4, -1, 3],
  3766. [6, 1, -3, 1, 2],
  3767. [6, 3, -1, 2, 5],
  3768. [4, 2, -4, 7, 8],
  3769. [2, 1, -2, 4, 2],
  3770. ],
  3771. ],
  3772. [
  3773. [
  3774. [2, 3, -4, -1, -3],
  3775. [6, 1, -3, -1, 2],
  3776. [6, 3, -1, 2, 5],
  3777. [4, 2, -4, 7, -8],
  3778. [2, 1, -2, 4, 2],
  3779. ],
  3780. ],
  3781. [
  3782. [
  3783. [2, 1, 2],
  3784. [1, 1, 1],
  3785. [2, 2, 5],
  3786. ],
  3787. ],
  3788. [
  3789. [
  3790. [1, 0, 2, -1],
  3791. [3, 0, 0, 5],
  3792. [2, 1, 4, -3],
  3793. [1, 0, 5, 0],
  3794. ],
  3795. ],
  3796. [
  3797. [
  3798. [1, 0, 2, 0, 0, 4],
  3799. [18, 1, 5, 0, 0, 9],
  3800. [3, 5, 3, 6, 0, 4],
  3801. [2, 0, 8, 0, 0, 7],
  3802. [7, 0, 4, 0, 6, 0],
  3803. [0, 0, 1, 0, 0, 0]
  3804. ],
  3805. ],
  3806. [
  3807. [
  3808. [-1, 0, 2, 0, 0, 4],
  3809. [18, 1, 5, 0, 0, 9],
  3810. [3, 5, 3, 6, 0, 4],
  3811. [2, 0, 8, 0, 0, 7],
  3812. [7, 0, 4, 0, 6, 0],
  3813. [0, 0, 1, 0, 0, 0]
  3814. ],
  3815. ],
  3816. [
  3817. [
  3818. [-1, 0, -2, 0, 0, 4],
  3819. [18, 1, 5, 0, 0, 9],
  3820. [3, 5, 3, 6, 0, 4],
  3821. [2, 0, 8, 0, 0, 7],
  3822. [7, 0, 4, 0, 6, 0],
  3823. [0, 0, 1, 0, 0, 0]
  3824. ],
  3825. ],
  3826. [
  3827. [
  3828. [-1, 0, -2, 0, 0, -4],
  3829. [18, 1, 5, 0, 0, 9],
  3830. [3, 5, 3, 6, 0, 4],
  3831. [2, 0, 8, 0, 0, 7],
  3832. [7, 0, 4, 0, 6, 0],
  3833. [0, 0, 1, 0, 0, 0]
  3834. ],
  3835. ],
  3836. [
  3837. [
  3838. [1, 1, 1, 1, 1, 1],
  3839. [1, 3, 1, 3, 1, 3],
  3840. [1, 1, 4, 1, 1, 4],
  3841. [1, 3, 1, 7, 1, 3],
  3842. [1, 1, 1, 1, 6, 1],
  3843. [1, 3, 4, 3, 1, 12]
  3844. ],
  3845. ],
  3846. [
  3847. [
  3848. [-1, 1, 1, 1, 1, 1],
  3849. [1, 3, 1, 3, 1, 3],
  3850. [1, 1, 4, 1, 1, 4],
  3851. [1, 3, 1, 7, 1, 3],
  3852. [1, 1, 1, 1, 6, 1],
  3853. [1, 3, 4, 3, 1, 12]
  3854. ],
  3855. ],
  3856. [
  3857. [
  3858. [-1, 1, 1, 1, 1, 1],
  3859. [1, 3, 1, 3, 1, 3],
  3860. [1, 1, 4, 1, 1, 4],
  3861. [1, -3, 1, 7, 1, 3],
  3862. [1, 1, 1, 1, 6, 1],
  3863. [1, 3, 4, 3, 1, 12]
  3864. ],
  3865. ],
  3866. [
  3867. [
  3868. [-1, 0, 0, 0, 0, 0],
  3869. [0, 2, 0, 0, 0, 0],
  3870. [0, 0, 0, 4, 0, 0],
  3871. [0, 0, 3, 0, 0, 0],
  3872. [0, 0, 0, 0, 5, 0],
  3873. [0, 0, 0, 0, 0, 6]
  3874. ],
  3875. ],
  3876. [
  3877. [
  3878. [0, 1, 4, 3, 2, 3, 3, 4, 4],
  3879. [1, 0, 3, 2, 1, 2, 2, 3, 3],
  3880. [4, 3, 0, 1, 2, 3, 3, 4, 4],
  3881. [3, 2, 1, 0, 1, 2, 2, 3, 3],
  3882. [2, 1, 2, 1, 0, 1, 1, 2, 2],
  3883. [3, 2, 3, 2, 1, 0, 2, 3, 3],
  3884. [3, 2, 3, 2, 1, 2, 0, 1, 2],
  3885. [4, 3, 4, 3, 2, 3, 1, 0, 2],
  3886. [4, 3, 4, 3, 2, 3, 2, 2, 0],
  3887. ],
  3888. ],
  3889. [
  3890. [
  3891. [2, 1, 4, 3, 2, 3, 3, 4, 4],
  3892. [1, 2, 3, 2, 1, 2, 2, 3, 3],
  3893. [4, 3, 2, 1, 2, 3, 3, 4, 4],
  3894. [3, 2, 1, 2, 1, 2, 2, 3, 3],
  3895. [2, 1, 2, 1, 2, 1, 1, 2, 2],
  3896. [3, 2, 3, 2, 1, 2, 2, 3, 3],
  3897. [3, 2, 3, 2, 1, 2, 2, 1, 2],
  3898. [4, 3, 4, 3, 2, 3, 1, 2, 2],
  3899. [4, 3, 4, 3, 2, 3, 2, 2, 2],
  3900. ],
  3901. ],
  3902. [
  3903. [
  3904. [2, -1, 4, 3, 2, 3, 3, 4, 4],
  3905. [1, 2, 3, 2, 1, 2, 2, 3, 3],
  3906. [4, 3, 2, 1, 2, 3, 3, 4, 4],
  3907. [3, 2, 1, 2, 1, 2, 2, 3, 3],
  3908. [2, 1, 2, 1, 2, 1, 1, 2, 2],
  3909. [3, 2, 3, 2, 1, 2, 2, 3, 3],
  3910. [3, 2, 3, 2, 1, 2, 2, 1, 2],
  3911. [4, 3, 4, 3, 2, 3, 1, 2, 2],
  3912. [4, 3, 4, 3, 2, 3, 2, 2, 2],
  3913. ],
  3914. ],
  3915. [
  3916. [
  3917. [2, 1, 4, 3, 2, 3, 3, 4, 4],
  3918. [-1, 2, 3, 2, 1, 2, 2, 3, 3],
  3919. [4, 3, 2, 1, 2, 3, 3, 4, 4],
  3920. [3, 2, 1, 2, 1, 2, 2, 3, 3],
  3921. [2, 1, 2, 1, 2, 1, 1, 2, 2],
  3922. [3, 2, 3, 2, 1, 2, 2, 3, 3],
  3923. [3, 2, 3, 2, 1, 2, 2, 1, 2],
  3924. [4, 3, 4, 3, 2, 3, 1, 2, 2],
  3925. [4, 3, 4, 3, 2, 3, 2, 2, 2],
  3926. ],
  3927. ],
  3928. [
  3929. [
  3930. [2, -1, 4, 3, 2, 3, 3, 4, 4],
  3931. [-1, 2, 3, 2, 1, 2, 2, 3, 3],
  3932. [4, 3, 2, 1, 2, 3, 3, 4, 4],
  3933. [3, 2, 1, 2, 1, 2, 2, 3, 3],
  3934. [2, 1, 2, 1, 2, 1, 1, 2, 2],
  3935. [3, 2, 3, 2, 1, 2, 2, 3, 3],
  3936. [3, 2, 3, 2, 1, 2, 2, 1, 2],
  3937. [4, 3, 4, 3, 2, 3, 1, 2, 2],
  3938. [4, 3, 4, 3, 2, 3, 2, 2, 2],
  3939. ],
  3940. ],
  3941. [
  3942. [
  3943. [2, -1, 4, 3, 2, 3, 3, 4, 4],
  3944. [-1, 2, 3, 2, 1, 2, 2, 3, 3],
  3945. [4, 3, 2, 1, 2, 3, 3, 4, 4],
  3946. [2, 1, 2, 1, 2, 1, 1, 2, 2],
  3947. [3, 2, 1, 2, 1, 2, 2, 3, 3],
  3948. [3, 2, 3, 2, 1, 2, 2, 3, 3],
  3949. [3, 2, 3, 2, 1, 2, 2, 1, 2],
  3950. [4, 3, 4, 3, 2, 3, 1, 2, 2],
  3951. [4, 3, 4, 3, 2, 3, 2, 2, 2],
  3952. ],
  3953. ],
  3954. ];
  3955. }
  3956. public function dataProviderForRectangularDiagonalMatrix(): array
  3957. {
  3958. return [
  3959. [
  3960. [[3, 0]],
  3961. ],
  3962. [
  3963. [
  3964. [6, 0, 0],
  3965. [0, 2, 0],
  3966. ],
  3967. ],
  3968. [
  3969. [
  3970. [5, 0],
  3971. [0, 9],
  3972. [0, 0],
  3973. ],
  3974. ],
  3975. ];
  3976. }
  3977. public function dataProviderForNotRectangularDiagonalMatrix(): array
  3978. {
  3979. return [
  3980. [
  3981. [[1, 1]],
  3982. ],
  3983. [
  3984. [[0, 1]],
  3985. ],
  3986. [
  3987. [
  3988. [1, 0, 0],
  3989. [0, 1, 1],
  3990. ],
  3991. ],
  3992. [
  3993. [
  3994. [1, 0],
  3995. [0, 1],
  3996. [0, 2],
  3997. ],
  3998. ],
  3999. ];
  4000. }
  4001. /**
  4002. * All ref matrices in this data provider are not in rref.
  4003. */
  4004. public function dataProviderForRefMatrix(): array
  4005. {
  4006. return [
  4007. [
  4008. [
  4009. [2],
  4010. ],
  4011. ],
  4012. [
  4013. [
  4014. [4, 2],
  4015. ],
  4016. ],
  4017. [
  4018. [
  4019. [1, 2],
  4020. [0, 1],
  4021. ],
  4022. ],
  4023. [
  4024. [
  4025. [1, 2],
  4026. [0, 1],
  4027. [0, 0],
  4028. ],
  4029. ],
  4030. [
  4031. [
  4032. [2, 3],
  4033. [0, 2],
  4034. [0, 0],
  4035. [0, 0],
  4036. ],
  4037. ],
  4038. [
  4039. [
  4040. [1, 0, -1],
  4041. [0, 5, 2],
  4042. [0, 0, 0]
  4043. ],
  4044. ],
  4045. [
  4046. [
  4047. [1, 2, 3, 4],
  4048. [0, 0, 1, 3],
  4049. [0, 0, 0, 1],
  4050. ],
  4051. ],
  4052. [
  4053. [
  4054. [1, 2, 3, 4],
  4055. [0, 0, 1, 3],
  4056. [0, 0, 0, 1],
  4057. [0, 0, 0, 0],
  4058. ],
  4059. ],
  4060. [
  4061. [
  4062. [1, 0, 3, 3],
  4063. [0, 1, 0, 4],
  4064. [0, 0, 0, 1],
  4065. ],
  4066. ],
  4067. [
  4068. [
  4069. [1, -3, 4, -3, 2, 5],
  4070. [0, 1, -2, 2, 1, -3],
  4071. [0, 0, 0, 0, 1, 4],
  4072. ],
  4073. ],
  4074. [
  4075. [
  4076. [1, 4, 5, -9, -7],
  4077. [0, 2, 4, -6, -6],
  4078. [0, 0, 0, -5, 0],
  4079. [0, 0, 0, 0, 0],
  4080. ],
  4081. ],
  4082. [
  4083. [
  4084. [3, -9, 12, -9, 6, 15],
  4085. [0, 1, -2, 2, 1, -3],
  4086. [0, 0, 0, 0, 1, 4],
  4087. ],
  4088. ],
  4089. ];
  4090. }
  4091. public function dataProviderForNotRefMatrix(): array
  4092. {
  4093. return [
  4094. [
  4095. [
  4096. [0],
  4097. [4],
  4098. ],
  4099. ],
  4100. [
  4101. [
  4102. [0, 0],
  4103. [4, 1],
  4104. ],
  4105. ],
  4106. [
  4107. [
  4108. [0, 1],
  4109. [1, 1],
  4110. ],
  4111. ],
  4112. [
  4113. [
  4114. [1, 2],
  4115. [4, 1],
  4116. ],
  4117. ],
  4118. [
  4119. [
  4120. [1, 2],
  4121. [0, 1],
  4122. [1, 0],
  4123. ],
  4124. ],
  4125. [
  4126. [
  4127. [2, 3],
  4128. [0, 2],
  4129. [0, 0],
  4130. [0, 1],
  4131. ],
  4132. ],
  4133. [
  4134. [
  4135. [2, 3],
  4136. [0, 2],
  4137. [5, 0],
  4138. [0, 0],
  4139. ],
  4140. ],
  4141. [
  4142. [
  4143. [1, 0, -1],
  4144. [0, 1, 2],
  4145. [0, 1, 0]
  4146. ],
  4147. ],
  4148. [
  4149. [
  4150. [1, 0, -1],
  4151. [3, 1, 2],
  4152. [0, 0, 0]
  4153. ],
  4154. ],
  4155. [
  4156. [
  4157. [1, 0, -1],
  4158. [0, 1, 2],
  4159. [1, 0, 0]
  4160. ],
  4161. ],
  4162. [
  4163. [
  4164. [1, 0, -1],
  4165. [0, 0, 0],
  4166. [0, 1, 0]
  4167. ],
  4168. ],
  4169. [
  4170. [
  4171. [1, 0, 3, 3],
  4172. [0, 1, 0, 4],
  4173. [3, 0, 0, 1],
  4174. ],
  4175. ],
  4176. [
  4177. [
  4178. [1, -3, 4, -3, 2, 5],
  4179. [0, 1, -2, 2, 1, -3],
  4180. [0, 3, 0, 0, 1, 4],
  4181. ],
  4182. ],
  4183. [
  4184. [
  4185. [1, 4, 5, -9, -7],
  4186. [0, 2, 4, -6, -6],
  4187. [0, 3, 0, -5, 0],
  4188. [0, 0, 0, 0, 0],
  4189. ],
  4190. ],
  4191. [
  4192. [
  4193. [1, 4, 5, -9, -7],
  4194. [0, 2, 4, -6, -6],
  4195. [0, 0, 0, 0, 0],
  4196. [0, 0, 0, -5, 0],
  4197. ],
  4198. ],
  4199. [
  4200. [
  4201. [1, 4, 5, -9, -7],
  4202. [0, 2, 4, -6, -6],
  4203. [0, 0, 0, -5, 0],
  4204. [0, 0, 5, 0, 0],
  4205. ],
  4206. ],
  4207. [
  4208. [
  4209. [1, 4, 5, -9, -7],
  4210. [0, 2, 4, -6, -6],
  4211. [0, 3, 0, -5, 0],
  4212. [0, 0, 0, 1, 0],
  4213. ],
  4214. ],
  4215. [
  4216. [
  4217. [3, -9, 12, -9, 6, 15],
  4218. [0, 1, -2, 2, 1, -3],
  4219. [2, 0, 0, 0, 1, 4],
  4220. ],
  4221. ],
  4222. [
  4223. [
  4224. [3, -9, 12, -9, 6, 15],
  4225. [0, 1, -2, 2, 1, -3],
  4226. [0, 2, 0, 0, 1, 4],
  4227. ],
  4228. ],
  4229. [
  4230. [
  4231. [0, 1, -2, 2, 1, -3],
  4232. [3, -9, 12, -9, 6, 15],
  4233. [0, 0, 0, 0, 1, 4],
  4234. ],
  4235. ],
  4236. [
  4237. [
  4238. [3, -9, 12, -9, 6, 15],
  4239. [0, 0, 0, 0, 0, 0],
  4240. [0, 1, -2, 2, 1, -3],
  4241. [0, 0, 0, 0, 1, 4],
  4242. ],
  4243. ],
  4244. ];
  4245. }
  4246. public function dataProviderForRrefMatrix(): array
  4247. {
  4248. return [
  4249. [
  4250. [
  4251. [1],
  4252. ],
  4253. ],
  4254. [
  4255. [
  4256. [1, 2],
  4257. ],
  4258. ],
  4259. [
  4260. [
  4261. [1, 0],
  4262. [0, 1],
  4263. ],
  4264. ],
  4265. [
  4266. [
  4267. [1, 0],
  4268. [0, 1],
  4269. [0, 0],
  4270. ],
  4271. ],
  4272. [
  4273. [
  4274. [1, 0],
  4275. [0, 1],
  4276. [0, 0],
  4277. [0, 0],
  4278. ],
  4279. ],
  4280. [
  4281. [
  4282. [1, 0, -1],
  4283. [0, 1, 2],
  4284. [0, 0, 0]
  4285. ],
  4286. ],
  4287. [
  4288. [
  4289. [1, 2, 0, 0],
  4290. [0, 0, 1, 0],
  4291. [0, 0, 0, 1],
  4292. ],
  4293. ],
  4294. [
  4295. [
  4296. [1, 2, 0, 0],
  4297. [0, 0, 1, 0],
  4298. [0, 0, 0, 1],
  4299. [0, 0, 0, 0],
  4300. ],
  4301. ],
  4302. [
  4303. [
  4304. [1, 0, 3, 0],
  4305. [0, 1, 0, 0],
  4306. [0, 0, 0, 1],
  4307. ],
  4308. ],
  4309. [
  4310. [
  4311. [1, 0, 4, -3, 0, 5],
  4312. [0, 1, -2, 2, 0, -3],
  4313. [0, 0, 0, 0, 1, 4],
  4314. ],
  4315. ],
  4316. [
  4317. [
  4318. [1, 0, 5, 0, -7],
  4319. [0, 1, 4, 0, -6],
  4320. [0, 0, 0, 1, 0],
  4321. [0, 0, 0, 0, 0],
  4322. ],
  4323. ],
  4324. [
  4325. [
  4326. [1, 0, 12, -9, 0, 15],
  4327. [0, 1, -2, 2, 0, -3],
  4328. [0, 0, 0, 0, 1, 4],
  4329. ],
  4330. ],
  4331. ];
  4332. }
  4333. public function dataProviderForNotRrefMatrix(): \Generator
  4334. {
  4335. foreach ($this->dataProviderForRefMatrix() as $matrix) {
  4336. yield $matrix;
  4337. }
  4338. foreach (
  4339. [
  4340. [
  4341. [
  4342. [2],
  4343. ],
  4344. ],
  4345. [
  4346. [
  4347. [2, 2],
  4348. ],
  4349. ],
  4350. [
  4351. [
  4352. [1, 0],
  4353. [0, 2],
  4354. ],
  4355. ],
  4356. [
  4357. [
  4358. [2, 0],
  4359. [0, 1],
  4360. [0, 0],
  4361. ],
  4362. ],
  4363. [
  4364. [
  4365. [1, 0],
  4366. [0, 1],
  4367. [2, 0],
  4368. [0, 0],
  4369. ],
  4370. ],
  4371. [
  4372. [
  4373. [1, 2, -1],
  4374. [0, 1, 2],
  4375. [0, 0, 0]
  4376. ],
  4377. ],
  4378. [
  4379. [
  4380. [1, 2, 0, 0],
  4381. [0, 0, 3, 0],
  4382. [0, 0, 0, 1],
  4383. ],
  4384. ],
  4385. [
  4386. [
  4387. [1, 2, 0, 0],
  4388. [0, 0, 1, 0],
  4389. [0, 0, 3, 1],
  4390. [0, 0, 0, 0],
  4391. ],
  4392. ],
  4393. [
  4394. [
  4395. [1, 0, 3, 0],
  4396. [0, 1, 0, 0],
  4397. [1, 0, 0, 1],
  4398. ],
  4399. ],
  4400. [
  4401. [
  4402. [1, 0, 4, -3, 4, 5],
  4403. [0, 1, -2, 2, 0, -3],
  4404. [0, 0, 0, 0, 1, 4],
  4405. ],
  4406. ],
  4407. [
  4408. [
  4409. [1, 0, 5, 0, -7],
  4410. [0, 4, 4, 0, -6],
  4411. [0, 0, 0, 1, 0],
  4412. [0, 0, 0, 0, 0],
  4413. ],
  4414. ],
  4415. [
  4416. [
  4417. [1, 1, 12, -9, 0, 15],
  4418. [0, 1, -2, 2, 0, -3],
  4419. [0, 0, 0, 0, 1, 4],
  4420. ],
  4421. ],
  4422. ] as $matrix
  4423. ) {
  4424. yield $matrix;
  4425. }
  4426. }
  4427. public function dataProviderForTwoSquareMatrices(): array
  4428. {
  4429. return [
  4430. [
  4431. [
  4432. [1, 5],
  4433. [4, 3],
  4434. ],
  4435. [
  4436. [5, 6],
  4437. [2, 1],
  4438. ],
  4439. ],
  4440. [
  4441. [
  4442. [3, 8, 5],
  4443. [3, 6, 1],
  4444. [9, 5, 8],
  4445. ],
  4446. [
  4447. [5, 3, 8],
  4448. [6, 4, 5],
  4449. [1, 8, 9],
  4450. ],
  4451. ],
  4452. [
  4453. [
  4454. [-4, -2, 9],
  4455. [3, 14, -6],
  4456. [3, 9, 9],
  4457. ],
  4458. [
  4459. [8, 7, 8],
  4460. [-5, 4, 1],
  4461. [3, 5, 1],
  4462. ],
  4463. ],
  4464. [
  4465. [
  4466. [4, 7, 7, 8],
  4467. [3, 6, 4, 1],
  4468. [-3, 6, 8, -3],
  4469. [3, 2, 1, -54],
  4470. ],
  4471. [
  4472. [3, 2, 6, 7],
  4473. [4, 3, -6, 2],
  4474. [12, 14, 14, -6],
  4475. [4, 6, 4, -42],
  4476. ],
  4477. ],
  4478. [
  4479. [
  4480. [4, 17,6, 3],
  4481. [3, -6, 4, 21],
  4482. [3, 6, 8, -2],
  4483. [5, 2, 3, 15],
  4484. ],
  4485. [
  4486. [3, 12, 16, 7],
  4487. [4, 13, 6, 2],
  4488. [2, 4, 14, -6],
  4489. [14, 3, 4, 52],
  4490. ],
  4491. ],
  4492. ];
  4493. }
  4494. public function dataProviderForThreeMatrices(): array
  4495. {
  4496. return [
  4497. [
  4498. [
  4499. [1],
  4500. ],
  4501. [
  4502. [2],
  4503. ],
  4504. [
  4505. [3],
  4506. ],
  4507. ],
  4508. [
  4509. [
  4510. [1, 5, 3],
  4511. [3, 6, 3],
  4512. [6, 7, 8],
  4513. ],
  4514. [
  4515. [6, 9, 9],
  4516. [3, 5, 1],
  4517. [3, 5, 12],
  4518. ],
  4519. [
  4520. [7, 9, 6],
  4521. [1, 9, 1],
  4522. [10, 12, 4],
  4523. ],
  4524. ],
  4525. [
  4526. [
  4527. [12, 21, 6],
  4528. [-3, 11, -6],
  4529. [3, 6, -3],
  4530. ],
  4531. [
  4532. [3, 7, 8],
  4533. [4, 4, 2],
  4534. [6, -4, 1],
  4535. ],
  4536. [
  4537. [-1, -1, -5],
  4538. [8, 15, 15],
  4539. [8, 6, -12],
  4540. ],
  4541. ],
  4542. [
  4543. [
  4544. [1, 2],
  4545. [0, -1],
  4546. ],
  4547. [
  4548. [0, -1],
  4549. [1, 1],
  4550. ],
  4551. [
  4552. [2, 8],
  4553. [2, 1],
  4554. ],
  4555. ],
  4556. [
  4557. [
  4558. [1, 5, 3],
  4559. [3, 6, 3],
  4560. [6, 7, 8],
  4561. ],
  4562. [
  4563. [6, 9, 9],
  4564. [3, 5, 1],
  4565. [3, 5, 12],
  4566. ],
  4567. [
  4568. [6, 4, 9],
  4569. [12, 3, -1],
  4570. [10, 2, 15],
  4571. ],
  4572. ],
  4573. [
  4574. [
  4575. [12, 21, 6],
  4576. [-3, 11, -6],
  4577. [3, 6, -3],
  4578. ],
  4579. [
  4580. [3, 7, 8],
  4581. [4, 4, 2],
  4582. [6, -4, 1],
  4583. ],
  4584. [
  4585. [1, 1, 5],
  4586. [3, 4, 9],
  4587. [3, 16, -2],
  4588. ],
  4589. ],
  4590. [
  4591. [
  4592. [1, 2, 3, 4, 5],
  4593. [2, 3, 4, 5, 6],
  4594. [4, 5, 6, 7, 8],
  4595. [6, 5, 4, 5, 7],
  4596. ],
  4597. [
  4598. [1, 2, 5, 5, 6],
  4599. [2, 3, 5, 5, 6],
  4600. [5, 4, 5, 5, 6],
  4601. [3, 2, 5, 5, 6],
  4602. ],
  4603. [
  4604. [5, 5, 7, 8, 9],
  4605. [4, 4, 7, 8, 9],
  4606. [7, 6, 7, 6, 7],
  4607. [9, 9, 9, 0, 0],
  4608. ]
  4609. ],
  4610. ];
  4611. }
  4612. /**
  4613. * @return array [A, B, C, D]
  4614. */
  4615. public function dataProviderForFourMatrices(): array
  4616. {
  4617. return [
  4618. [
  4619. [
  4620. [1],
  4621. ],
  4622. [
  4623. [2],
  4624. ],
  4625. [
  4626. [3],
  4627. ],
  4628. [
  4629. [4],
  4630. ],
  4631. ],
  4632. [
  4633. [
  4634. [1, 5, 3],
  4635. [3, 6, 3],
  4636. [6, 7, 8],
  4637. ],
  4638. [
  4639. [6, 9, 9],
  4640. [3, 5, 1],
  4641. [3, 5, 12],
  4642. ],
  4643. [
  4644. [7, 9, 6],
  4645. [1, 9, 1],
  4646. [10, 12, 4],
  4647. ],
  4648. [
  4649. [3, 5, 3],
  4650. [4, 6, 1],
  4651. [5, 7, 8],
  4652. ],
  4653. ],
  4654. [
  4655. [
  4656. [12, 21, 6],
  4657. [-3, 11, -6],
  4658. [3, 6, -3],
  4659. ],
  4660. [
  4661. [3, 7, 8],
  4662. [4, 4, 2],
  4663. [6, -4, 1],
  4664. ],
  4665. [
  4666. [-1, -1, -5],
  4667. [8, 15, 15],
  4668. [8, 6, -12],
  4669. ],
  4670. [
  4671. [1, 2, 3],
  4672. [2, 2, 2],
  4673. [4, 3, 2],
  4674. ]
  4675. ],
  4676. [
  4677. [
  4678. [1, 2],
  4679. [0, -1],
  4680. ],
  4681. [
  4682. [0, -1],
  4683. [1, 1],
  4684. ],
  4685. [
  4686. [2, 8],
  4687. [2, 1],
  4688. ],
  4689. [
  4690. [1, 4],
  4691. [3, 5],
  4692. ],
  4693. ],
  4694. [
  4695. [
  4696. [1, 5, 3],
  4697. [3, 6, 3],
  4698. [6, 7, 8],
  4699. ],
  4700. [
  4701. [6, 9, 9],
  4702. [3, 5, 1],
  4703. [3, 5, 12],
  4704. ],
  4705. [
  4706. [6, 4, 9],
  4707. [12, 3, -1],
  4708. [10, 2, 15],
  4709. ],
  4710. [
  4711. [1, 3, 3],
  4712. [6, 6, 3],
  4713. [2, 3, 9],
  4714. ],
  4715. ],
  4716. [
  4717. [
  4718. [12, 21, 6],
  4719. [-3, 11, -6],
  4720. [3, 6, -3],
  4721. ],
  4722. [
  4723. [3, 7, 8],
  4724. [4, 4, 2],
  4725. [6, -4, 1],
  4726. ],
  4727. [
  4728. [1, 1, 5],
  4729. [3, 4, 9],
  4730. [3, 16, -2],
  4731. ],
  4732. [
  4733. [3, 4, 8],
  4734. [-4, -4, 2],
  4735. [6, 4, 2],
  4736. ],
  4737. ],
  4738. [
  4739. [
  4740. [1, 2, 3, 4],
  4741. [2, 3, 4, 5],
  4742. [4, 5, 6, 7],
  4743. [6, 5, 4, 5],
  4744. ],
  4745. [
  4746. [1, 2, 5, 5],
  4747. [2, 3, 5, 5],
  4748. [5, 4, 5, 5],
  4749. [3, 2, 5, 5],
  4750. ],
  4751. [
  4752. [5, 5, 7, 8],
  4753. [4, 4, 7, 8],
  4754. [7, 6, 7, 6],
  4755. [9, 9, 9, 0],
  4756. ],
  4757. [
  4758. [1, -2, 3, 4],
  4759. [2, -3, 4, 9],
  4760. [4, -5, 6, 8],
  4761. [6, -5, 4, 5],
  4762. ],
  4763. ],
  4764. ];
  4765. }
  4766. /**
  4767. * Solving a system of lineary equations
  4768. * Test cases generated using various online sources and various applications.
  4769. * For example, SciPy scipy.linalg.solve(a,b)
  4770. * @return array (A, b, x) for Ax = b
  4771. */
  4772. public function dataProviderForSolve(): array
  4773. {
  4774. return [
  4775. [
  4776. [
  4777. [3, 4],
  4778. [2, -1],
  4779. ],
  4780. [5, 7],
  4781. [3, -1],
  4782. ],
  4783. [
  4784. [
  4785. [3, 1],
  4786. [2, -1],
  4787. ],
  4788. [5, 0],
  4789. [1, 2],
  4790. ],
  4791. [
  4792. [
  4793. [3, 4],
  4794. [5, 3],
  4795. ],
  4796. [-2, 4],
  4797. [2, -2],
  4798. ],
  4799. [
  4800. [
  4801. [1, 0, 0],
  4802. [0, 1, 0],
  4803. [0, 0, 1],
  4804. ],
  4805. [2, 3, -4],
  4806. [2, 3, -4],
  4807. ],
  4808. [
  4809. [
  4810. [1, 1, -1],
  4811. [3, 1, 1],
  4812. [1, -1, 4],
  4813. ],
  4814. [1, 9, 8],
  4815. [3, -1, 1],
  4816. ],
  4817. [
  4818. [
  4819. [2, 4, 1],
  4820. [4, -10, 2],
  4821. [1, 2, 4],
  4822. ],
  4823. [5, -8, 13],
  4824. [-1, 1, 3],
  4825. ],
  4826. [
  4827. [
  4828. [1, 1, 1],
  4829. [0, 2, 5],
  4830. [2, 5, -1],
  4831. ],
  4832. [6, -4, 27],
  4833. [5, 3, -2],
  4834. ],
  4835. [
  4836. [
  4837. [1, 2, 3],
  4838. [2, -1, 1],
  4839. [3, 0, -1],
  4840. ],
  4841. [9, 8, 3],
  4842. [2, -1, 3],
  4843. ],
  4844. [
  4845. [
  4846. [2, 1, -3],
  4847. [4, -2, 1],
  4848. [3, 5, -2],
  4849. ],
  4850. [-4, 9, 5],
  4851. [2, 1, 3],
  4852. ],
  4853. [
  4854. [
  4855. [4, 9, 0],
  4856. [8, 0, 6],
  4857. [0, 6, 6],
  4858. ],
  4859. [8, -1, -1],
  4860. [1 / 2, 2 / 3, -5 / 6],
  4861. ],
  4862. [
  4863. [
  4864. [1, 1, 1],
  4865. [1, -2, 2],
  4866. [1, 2, -1],
  4867. ],
  4868. [0, 4, 2],
  4869. [4, -2, -2],
  4870. ],
  4871. [
  4872. [
  4873. [3, 3, 4],
  4874. [3, 5, 9],
  4875. [5, 9, 17],
  4876. ],
  4877. [1, 2, 4],
  4878. [1, -2, 1],
  4879. ],
  4880. [
  4881. [
  4882. [2, 1, 1],
  4883. [-1, 1, -1],
  4884. [1, 2, 3],
  4885. ],
  4886. [2, 3, -10],
  4887. [3, 1, -5],
  4888. ],
  4889. [
  4890. [
  4891. [3, 2, 0],
  4892. [1, -1, 0],
  4893. [0, 5, 1],
  4894. ],
  4895. [2, 4, -1],
  4896. [2, -2, 9],
  4897. ],
  4898. [
  4899. [
  4900. [4, 1, 0],
  4901. [1, 4, 1],
  4902. [0, 1, 4],
  4903. ],
  4904. [1, 4, 1],
  4905. [0, 1, 0],
  4906. ],
  4907. [
  4908. [
  4909. [6, 4, 24],
  4910. [1, -1, 0],
  4911. [0, 5, 1]
  4912. ],
  4913. [2, 4, -1],
  4914. [3.98181818, -0.01818182, -0.90909091],
  4915. ],
  4916. [
  4917. [
  4918. [1, 2, 3],
  4919. [3, 4, 7],
  4920. [6, 5, 9],
  4921. ],
  4922. [0, 2, 11],
  4923. [4, 1, -2],
  4924. ],
  4925. [
  4926. [
  4927. [4, 2, -1, 3],
  4928. [3, -4, 2, 5],
  4929. [-2, 6, -5, -2],
  4930. [5, 1, 6, -3],
  4931. ],
  4932. [16.9, -14, 25, 9.4],
  4933. [4.5, 1.6, -3.8, -2.7],
  4934. ],
  4935. [
  4936. [
  4937. [4, 2, -1, 3],
  4938. [3, -4, 2, 5],
  4939. [-2, 6, -5, -2],
  4940. [5, 1, 6, -3],
  4941. ],
  4942. [-12, 34, 27, -19],
  4943. [-101.48484848, 101.24242424, 115.72727273, 102.39393939],
  4944. ],
  4945. [
  4946. [
  4947. [ 4, 1, 2, -3],
  4948. [-3, 3, -1, 4],
  4949. [-1, 2, 5, 1],
  4950. [ 5, 4, 3, -1],
  4951. ],
  4952. [-16, 20, -4, -10],
  4953. [-1, 1, -2, 3],
  4954. ],
  4955. [
  4956. [
  4957. [ 4, 1, 2, -3, 5],
  4958. [-3, 3, -1, 4, -2],
  4959. [-1, 2, 5, 1, 3],
  4960. [ 5, 4, 3, -1, 2],
  4961. [ 1, -2, 3, -4, 5],
  4962. ],
  4963. [-16, 20, -4, -10, 3],
  4964. [-15.35406699, 15.81339713, -1.77033493, -22.14832536, -6.66028708],
  4965. ],
  4966. [
  4967. [
  4968. [1, 1, -2, 1, 3, -1],
  4969. [2, -1, 1, 2, 1, -3],
  4970. [1, 3, -3, -1, 2, 1],
  4971. [5, 2, -1, -1, 2, 1],
  4972. [-3, -1, 2, 3, 1, 3],
  4973. [4, 3, 1, -6, -3, -2],
  4974. ],
  4975. [4, 20, -15, -3, 16, -27],
  4976. [1, -2, 3, 4, 2, -1],
  4977. ],
  4978. // SciPy test cases - scipy.linalg.solve(a, b)
  4979. [
  4980. [
  4981. [1, 20],
  4982. [-30, 4],
  4983. ],
  4984. [1, 0],
  4985. [0.00662252, 0.04966887],
  4986. ],
  4987. [
  4988. [
  4989. [1, 20],
  4990. [-30, 4],
  4991. ],
  4992. [0, 1],
  4993. [-0.03311258, 0.00165563],
  4994. ],
  4995. [
  4996. [
  4997. [1, 20],
  4998. [-30, 4],
  4999. ],
  5000. [2, 1],
  5001. [-0.01986755, 0.10099338],
  5002. ],
  5003. [
  5004. [
  5005. [1, 20],
  5006. [-30, 4],
  5007. ],
  5008. [-30, 4],
  5009. [-0.33112583, -1.48344371],
  5010. ],
  5011. [
  5012. [
  5013. [2, 3],
  5014. [3, 5],
  5015. ],
  5016. [1, 0],
  5017. [5, -3],
  5018. ],
  5019. [
  5020. [
  5021. [2, 3],
  5022. [3, 5],
  5023. ],
  5024. [0, 1],
  5025. [-3, 2],
  5026. ],
  5027. [
  5028. [
  5029. [1.80, 2.88, 2.05, -0.89],
  5030. [525.00, -295.00, -95.00, -380.00],
  5031. [1.58, -2.69, -2.90, -1.04],
  5032. [-1.11, -0.66, -0.59, 0.80],
  5033. ],
  5034. [9.52, 2435, .77, -6.22],
  5035. [1, -1, 3, -5],
  5036. ],
  5037. [
  5038. [
  5039. [1.80, 2.88, 2.05, -0.89],
  5040. [525.00, -295.00, -95.00, -380.00],
  5041. [1.58, -2.69, -2.90, -1.04],
  5042. [-1.11, -0.66, -0.59, 0.80],
  5043. ],
  5044. [18.47, 225, -13.28, -6.21],
  5045. [3., 2., 4., 1.],
  5046. ],
  5047. [
  5048. [
  5049. [1, 0],
  5050. [1, 2],
  5051. ],
  5052. [1, 1],
  5053. [1, 0],
  5054. ],
  5055. ];
  5056. }
  5057. public function dataProviderForTwoPositiveDefiniteMatrices(): array
  5058. {
  5059. return [
  5060. [
  5061. [
  5062. [2, -1],
  5063. [-1, 2],
  5064. ],
  5065. [
  5066. [1, -1],
  5067. [-1, 4],
  5068. ],
  5069. ],
  5070. [
  5071. [
  5072. [5, 2],
  5073. [2, 3],
  5074. ],
  5075. [
  5076. [6, 4],
  5077. [4, 5],
  5078. ],
  5079. ],
  5080. [
  5081. [
  5082. [12, -12],
  5083. [-12, 96],
  5084. ],
  5085. [
  5086. [6, 4],
  5087. [4, 5],
  5088. ],
  5089. ],
  5090. [
  5091. [
  5092. [2, -1, 0],
  5093. [-1, 2, -1],
  5094. [0, -1, 2],
  5095. ],
  5096. [
  5097. [2, -1, 1],
  5098. [-1, 2, -1],
  5099. [1, -1, 2],
  5100. ],
  5101. ],
  5102. [
  5103. [
  5104. [1, 0, 0],
  5105. [0, 3, 0],
  5106. [0, 0, 2],
  5107. ],
  5108. [
  5109. [3, -2, 0],
  5110. [-2, 2, 0],
  5111. [0, 0, 2],
  5112. ],
  5113. ],
  5114. [
  5115. [
  5116. [4, 1, -1],
  5117. [1, 2, 1],
  5118. [-1, 1, 2],
  5119. ],
  5120. [
  5121. [3, -2, 0],
  5122. [-2, 2, 0],
  5123. [0, 0, 2],
  5124. ],
  5125. ],
  5126. [
  5127. [
  5128. [14, 4, 9],
  5129. [4, 14, -7],
  5130. [9, -7, 14],
  5131. ],
  5132. [
  5133. [13, 0, -3],
  5134. [0, 9, 9],
  5135. [-3, 9, 10],
  5136. ],
  5137. ],
  5138. [
  5139. [
  5140. [14, -7, -13],
  5141. [-7, 6, 5],
  5142. [-13, 5, 14],
  5143. ],
  5144. [
  5145. [13, 0, -3],
  5146. [0, 9, 9],
  5147. [-3, 9, 10],
  5148. ],
  5149. ],
  5150. ];
  5151. }
  5152. public function dataProviderForIdempotentMatrix(): array
  5153. {
  5154. return [
  5155. [
  5156. [
  5157. [1, 0],
  5158. [0, 1],
  5159. ],
  5160. ],
  5161. [
  5162. [
  5163. [3, -6],
  5164. [1, -2],
  5165. ],
  5166. ],
  5167. [
  5168. [
  5169. [1, 0, 0],
  5170. [0, 0, 0],
  5171. [0, 0, 1],
  5172. ],
  5173. ],
  5174. [
  5175. [
  5176. [2, -2, -4],
  5177. [-1, 3, 4],
  5178. [1, -2, -3],
  5179. ],
  5180. ],
  5181. ];
  5182. }
  5183. public function dataProviderForNotIdempotentMatrix(): array
  5184. {
  5185. return [
  5186. [
  5187. [
  5188. [0, 1],
  5189. ],
  5190. ],
  5191. [
  5192. [
  5193. [3, 6],
  5194. [1, 2],
  5195. ],
  5196. ],
  5197. [
  5198. [
  5199. [2, 2, 4],
  5200. [1, 3, 4],
  5201. [1, 2, 3],
  5202. ],
  5203. ],
  5204. ];
  5205. }
  5206. public function dataProviderForNilpotentMatrix(): array
  5207. {
  5208. return [
  5209. [
  5210. [
  5211. [0],
  5212. ],
  5213. ],
  5214. [
  5215. [
  5216. [0, 0],
  5217. [1, 0],
  5218. ],
  5219. ],
  5220. [
  5221. [
  5222. [0, 1],
  5223. [0, 0],
  5224. ],
  5225. ],
  5226. [
  5227. [
  5228. [2, -1],
  5229. [4, -2],
  5230. ],
  5231. ],
  5232. [
  5233. [
  5234. [0, 5, 2],
  5235. [0, 0, 3],
  5236. [0, 0, 0],
  5237. ],
  5238. ],
  5239. [
  5240. [
  5241. [5, -3, 2],
  5242. [15, -9, 6],
  5243. [10, -6, 4],
  5244. ],
  5245. ],
  5246. [
  5247. [
  5248. [5, 5, 5],
  5249. [6, 6, 6],
  5250. [-11, -11, -11],
  5251. ],
  5252. ],
  5253. [
  5254. [
  5255. [2, 2, -2],
  5256. [5, 1, -3],
  5257. [1, 5, -3],
  5258. ],
  5259. ],
  5260. [
  5261. [
  5262. [0, 2, 1, 6],
  5263. [0, 0, 1, 2],
  5264. [0, 0, 0, 3],
  5265. [0, 0, 0, 0],
  5266. ],
  5267. ],
  5268. [
  5269. [
  5270. [1, 1, 1, 1],
  5271. [2, 2, 2, 2],
  5272. [4, 4, 4, 4],
  5273. [-7, -7, -7, -7],
  5274. ],
  5275. ],
  5276. [
  5277. [
  5278. [2, 2, 2, -3],
  5279. [6, 1, 1, -4],
  5280. [1, 6, 1, -4],
  5281. [1, 1, 6, -4],
  5282. ],
  5283. ],
  5284. [
  5285. [
  5286. [2, 2, 2, 2, -4],
  5287. [7, 1, 1, 1, -5],
  5288. [1, 7, 1, 1, -5],
  5289. [1, 1, 7, 1, -5],
  5290. [1, 1, 1, 7, -5],
  5291. ],
  5292. ],
  5293. ];
  5294. }
  5295. public function dataProviderForNotNilpotentMatrix(): array
  5296. {
  5297. return [
  5298. [
  5299. [
  5300. [0, 1],
  5301. ],
  5302. ],
  5303. [
  5304. [
  5305. [0, 1],
  5306. [1, 0],
  5307. ],
  5308. ],
  5309. [
  5310. [
  5311. [1, 2],
  5312. [0, -1],
  5313. ],
  5314. ],
  5315. [
  5316. [
  5317. [1, 2],
  5318. [1, -1],
  5319. ],
  5320. ],
  5321. [
  5322. [
  5323. [1, 2, 3],
  5324. [4, 5, 6],
  5325. [7, 8, 9],
  5326. ],
  5327. ],
  5328. [
  5329. [
  5330. [1, 1, -1],
  5331. [-1, 1, -1],
  5332. [1, 1, -2],
  5333. ],
  5334. ],
  5335. [
  5336. [
  5337. [2, 2, 2, 2, -4],
  5338. [7, 1, 1, 1, -5],
  5339. [1, 7, 1, 1, -5],
  5340. [1, 1, 7, 1, -5],
  5341. [0, 1, 1, 7, -5],
  5342. ],
  5343. ],
  5344. ];
  5345. }
  5346. public function dataProviderForInvolutoryMatrix(): array
  5347. {
  5348. return [
  5349. [
  5350. [
  5351. [1],
  5352. ],
  5353. ],
  5354. [
  5355. [
  5356. [1, 0],
  5357. [0, 1],
  5358. ],
  5359. ],
  5360. [
  5361. [
  5362. [1, 0, 0],
  5363. [0, 1, 0],
  5364. [0, 0, 1],
  5365. ],
  5366. ],
  5367. [
  5368. [
  5369. [1, 0, 0],
  5370. [0, 0, 1],
  5371. [0, 1, 0],
  5372. ],
  5373. ],
  5374. [
  5375. [
  5376. [1, 0, 0],
  5377. [0, -1, 0],
  5378. [0, 0, -1],
  5379. ],
  5380. ],
  5381. ];
  5382. }
  5383. public function dataProviderForNotInvolutoryMatrix(): array
  5384. {
  5385. return [
  5386. [
  5387. [
  5388. [1, 0],
  5389. [4, 1],
  5390. ],
  5391. ],
  5392. [
  5393. [
  5394. [1, 0, 0],
  5395. [0, 1, 0],
  5396. [0, 0, 3],
  5397. ],
  5398. ],
  5399. [
  5400. [
  5401. [1, 1, 0],
  5402. [0, 0, 1],
  5403. [0, 1, 0],
  5404. ],
  5405. ],
  5406. [
  5407. [
  5408. [1, 0, -6],
  5409. [0, -2, 0],
  5410. [0, 0, -1],
  5411. ],
  5412. ],
  5413. ];
  5414. }
  5415. public function dataProviderForSignatureMatrix(): array
  5416. {
  5417. return [
  5418. [
  5419. [
  5420. [1],
  5421. ],
  5422. ],
  5423. [
  5424. [
  5425. [-1],
  5426. ],
  5427. ],
  5428. [
  5429. [
  5430. [1, 0],
  5431. [0, 1],
  5432. ],
  5433. ],
  5434. [
  5435. [
  5436. [-1, 0],
  5437. [0, 1],
  5438. ],
  5439. ],
  5440. [
  5441. [
  5442. [1, 0],
  5443. [0, -1],
  5444. ],
  5445. ],
  5446. [
  5447. [
  5448. [-1, 0],
  5449. [0, -1],
  5450. ],
  5451. ],
  5452. [
  5453. [
  5454. [1, 0, 0],
  5455. [0, 1, 0],
  5456. [0, 0, 1],
  5457. ],
  5458. ],
  5459. [
  5460. [
  5461. [-1, 0, 0],
  5462. [0, 1, 0],
  5463. [0, 0, 1],
  5464. ],
  5465. ],
  5466. [
  5467. [
  5468. [1, 0, 0],
  5469. [0, -1, 0],
  5470. [0, 0, 1],
  5471. ],
  5472. ],
  5473. [
  5474. [
  5475. [1, 0, 0],
  5476. [0, 1, 0],
  5477. [0, 0, -1],
  5478. ],
  5479. ],
  5480. [
  5481. [
  5482. [-1, 0, 0],
  5483. [0, -1, 0],
  5484. [0, 0, 1],
  5485. ],
  5486. ],
  5487. [
  5488. [
  5489. [1, 0, 0],
  5490. [0, -1, 0],
  5491. [0, 0, -1],
  5492. ],
  5493. ],
  5494. [
  5495. [
  5496. [-1, 0, 0],
  5497. [0, 1, 0],
  5498. [0, 0, -1],
  5499. ],
  5500. ],
  5501. [
  5502. [
  5503. [-1, 0, 0],
  5504. [0, -1, 0],
  5505. [0, 0, -1],
  5506. ],
  5507. ],
  5508. ];
  5509. }
  5510. public function dataProviderForNotSignatureMatrix(): array
  5511. {
  5512. return [
  5513. [
  5514. [
  5515. [2],
  5516. ],
  5517. ],
  5518. [
  5519. [
  5520. [-3],
  5521. ],
  5522. ],
  5523. [
  5524. [
  5525. [2, 0],
  5526. [0, 1],
  5527. ],
  5528. ],
  5529. [
  5530. [
  5531. [-2, 0],
  5532. [0, 1],
  5533. ],
  5534. ],
  5535. [
  5536. [
  5537. [1, 1],
  5538. [0, -1],
  5539. ],
  5540. ],
  5541. [
  5542. [
  5543. [-1, 0],
  5544. [-1, -1],
  5545. ],
  5546. ],
  5547. [
  5548. [
  5549. [1, 0, 0],
  5550. [0, 1, 0],
  5551. [0, 0, 5],
  5552. ],
  5553. ],
  5554. [
  5555. [
  5556. [-1, 0, 0],
  5557. [0, 4, 0],
  5558. [0, 0, 1],
  5559. ],
  5560. ],
  5561. [
  5562. [
  5563. [1, 3, 0],
  5564. [0, -1, 0],
  5565. [0, 0, 1],
  5566. ],
  5567. ],
  5568. [
  5569. [
  5570. [1, 0, 0],
  5571. [0, 1, 0],
  5572. [10, 0, -1],
  5573. ],
  5574. ],
  5575. [
  5576. [
  5577. [-1, 0, 0],
  5578. [0, -1, 0],
  5579. [0, -4, 1],
  5580. ],
  5581. ],
  5582. [
  5583. [
  5584. [1, 0, 0],
  5585. [0, 0, 0],
  5586. [0, 0, -1],
  5587. ],
  5588. ],
  5589. [
  5590. [
  5591. [1, 2, 3],
  5592. [0, 1, 0],
  5593. [0, 0, -1],
  5594. ],
  5595. ],
  5596. [
  5597. [
  5598. [-1, 0, 5],
  5599. [0, -1, 6],
  5600. [0, 0, -7],
  5601. ],
  5602. ],
  5603. ];
  5604. }
  5605. /**
  5606. * @return array [n, matrix]
  5607. */
  5608. public function dataProviderForHilbertMatrix(): array
  5609. {
  5610. return [
  5611. [ 1,
  5612. [
  5613. [1],
  5614. ],
  5615. ],
  5616. [ 2,
  5617. [
  5618. [1, 1 / 2],
  5619. [1 / 2, 1 / 3],
  5620. ],
  5621. ],
  5622. [ 3,
  5623. [
  5624. [1, 1 / 2, 1 / 3],
  5625. [1 / 2, 1 / 3, 1 / 4],
  5626. [1 / 3, 1 / 4, 1 / 5],
  5627. ],
  5628. ],
  5629. [ 4,
  5630. [
  5631. [1, 1 / 2, 1 / 3, 1 / 4],
  5632. [1 / 2, 1 / 3, 1 / 4, 1 / 5],
  5633. [1 / 3, 1 / 4, 1 / 5, 1 / 6],
  5634. [1 / 4, 1 / 5, 1 / 6, 1 / 7]
  5635. ],
  5636. ],
  5637. [ 5,
  5638. [
  5639. [1, 1 / 2, 1 / 3, 1 / 4, 1 / 5],
  5640. [1 / 2, 1 / 3, 1 / 4, 1 / 5, 1 / 6],
  5641. [1 / 3, 1 / 4, 1 / 5, 1 / 6, 1 / 7],
  5642. [1 / 4, 1 / 5, 1 / 6, 1 / 7, 1 / 8],
  5643. [1 / 5, 1 / 6, 1 / 7, 1 / 8, 1 / 9],
  5644. ],
  5645. ],
  5646. ];
  5647. }
  5648. public function dataProviderForUpperBidiagonalMatrix(): array
  5649. {
  5650. return [
  5651. [
  5652. [
  5653. [1],
  5654. ],
  5655. ],
  5656. [
  5657. [
  5658. [0],
  5659. ],
  5660. ],
  5661. [
  5662. [
  5663. [1, 1],
  5664. [0, 1],
  5665. ],
  5666. ],
  5667. [
  5668. [
  5669. [-5, 4],
  5670. [0, 3],
  5671. ],
  5672. ],
  5673. [
  5674. [
  5675. [1, 1, 0],
  5676. [0, 1, 1],
  5677. [0, 0, 1],
  5678. ],
  5679. ],
  5680. [
  5681. [
  5682. [1, 0, 0],
  5683. [0, 1, 0],
  5684. [0, 0, 1],
  5685. ],
  5686. ],
  5687. [
  5688. [
  5689. [0, 0, 0],
  5690. [0, 1, 0],
  5691. [0, 0, 1],
  5692. ],
  5693. ],
  5694. [
  5695. [
  5696. [0, 0, 0],
  5697. [0, 0, 0],
  5698. [0, 0, 0],
  5699. ],
  5700. ],
  5701. [
  5702. [
  5703. [1, 1, 0, 0],
  5704. [0, 1, 1, 0],
  5705. [0, 0, 1, 1],
  5706. [0, 0, 0, 1],
  5707. ],
  5708. ],
  5709. [
  5710. [
  5711. [1, 1, 0, 0, 0],
  5712. [0, 1, 1, 0, 0],
  5713. [0, 0, 1, 1, 0],
  5714. [0, 0, 0, 1, 1],
  5715. [0, 0, 0, 0, 1],
  5716. ],
  5717. ],
  5718. [
  5719. [
  5720. [1, 3, 0, 0, 0],
  5721. [0, 2, 4, 0, 0],
  5722. [0, 0, 3, 5, 0],
  5723. [0, 0, 0, 4, 6],
  5724. [0, 0, 0, 0, -6],
  5725. ],
  5726. ],
  5727. [
  5728. [
  5729. [-1, 4, 0, 0, 0, 0],
  5730. [0, 2, -5, 0, 0, 0],
  5731. [0, 0, 3, -4, 0, 0],
  5732. [0, 0, 0, 4, 3, 0],
  5733. [0, 0, 0, 0, 5, -1],
  5734. [0, 0, 0, 0, 0, 6],
  5735. ],
  5736. ],
  5737. [
  5738. [
  5739. [1, 6, 0, 0, 0, 0],
  5740. [0, 2, 5, 0, 0, 0],
  5741. [0, 0, 3, 4, 0, 0],
  5742. [0, 0, 0, 4, 3, 0],
  5743. [0, 0, 0, 0, 5, 2],
  5744. [0, 0, 0, 0, 0, 6],
  5745. ],
  5746. ],
  5747. [
  5748. [
  5749. [1, 5, 0, 0, 0, 0],
  5750. [0, 2, 4, 0, 0, 0],
  5751. [0, 0, 4, 3, 0, 0],
  5752. [0, 0, 0, 4, 3, 0],
  5753. [0, 0, 0, 0, 5, 4],
  5754. [0, 0, 0, 0, 0, 5],
  5755. ],
  5756. ],
  5757. ];
  5758. }
  5759. public function dataProviderForNotUpperBidiagonalMatrix(): array
  5760. {
  5761. return [
  5762. [
  5763. [
  5764. [1, 0],
  5765. [1, 1],
  5766. ],
  5767. ],
  5768. [
  5769. [
  5770. [-5, 0],
  5771. [5, 3],
  5772. ],
  5773. ],
  5774. [
  5775. [
  5776. [1, 1, 1],
  5777. [0, 1, 1],
  5778. [0, 0, 1],
  5779. ],
  5780. ],
  5781. [
  5782. [
  5783. [1, 0, 0],
  5784. [1, 1, 0],
  5785. [0, 1, 1],
  5786. ],
  5787. ],
  5788. [
  5789. [
  5790. [1, 0, 0, 0],
  5791. [1, 1, 0, 0],
  5792. [0, 1, 1, 0],
  5793. [0, 0, 1, 1],
  5794. ],
  5795. ],
  5796. [
  5797. [
  5798. [1, 0, 0, 0],
  5799. [1, 1, 0, 0],
  5800. [1, 1, 1, 0],
  5801. [0, 0, 1, 1],
  5802. ],
  5803. ],
  5804. [
  5805. [
  5806. [1, 0, 0, 0],
  5807. [1, 1, 0, 0],
  5808. [0, 1, 1, 0],
  5809. [0, 1, 1, 1],
  5810. ],
  5811. ],
  5812. [
  5813. [
  5814. [1, 0, 0, 0],
  5815. [1, 1, 0, 0],
  5816. [0, 1, 1, 0],
  5817. [1, 0, 1, 1],
  5818. ],
  5819. ],
  5820. [
  5821. [
  5822. [1, 0, 0, 0],
  5823. [1, 1, 0, 0],
  5824. [1, 1, 1, 0],
  5825. [1, 1, 1, 1],
  5826. ],
  5827. ],
  5828. [
  5829. [
  5830. [1, 1, 0, 0],
  5831. [1, 1, 0, 0],
  5832. [0, 1, 1, 0],
  5833. [0, 0, 1, 1],
  5834. ],
  5835. ],
  5836. [
  5837. [
  5838. [1, 0, 0, 0],
  5839. [1, 1, 1, 0],
  5840. [0, 1, 1, 0],
  5841. [0, 0, 1, 1],
  5842. ],
  5843. ],
  5844. [
  5845. [
  5846. [1, 0, 1, 0],
  5847. [1, 1, 0, 0],
  5848. [0, 1, 1, 0],
  5849. [0, 0, 1, 1],
  5850. ],
  5851. ],
  5852. [
  5853. [
  5854. [1, 0, 0, 0],
  5855. [1, 1, 0, 1],
  5856. [0, 1, 1, 0],
  5857. [0, 0, 1, 1],
  5858. ],
  5859. ],
  5860. [
  5861. [
  5862. [1, 0, 1, 1],
  5863. [1, 1, 0, 1],
  5864. [0, 1, 1, 1],
  5865. [0, 0, 1, 1],
  5866. ],
  5867. ],
  5868. [
  5869. [
  5870. [1, 1, 1, 0],
  5871. [0, 1, 1, 0],
  5872. [0, 0, 1, 1],
  5873. [0, 0, 0, 1],
  5874. ],
  5875. ],
  5876. [
  5877. [
  5878. [1, 1, 0, 0],
  5879. [0, 1, 1, 1],
  5880. [0, 0, 1, 1],
  5881. [0, 0, 0, 1],
  5882. ],
  5883. ],
  5884. [
  5885. [
  5886. [1, 1, 0, 1],
  5887. [0, 1, 1, 0],
  5888. [0, 0, 1, 1],
  5889. [0, 0, 0, 1],
  5890. ],
  5891. ],
  5892. [
  5893. [
  5894. [1, 1, 1, 1],
  5895. [0, 1, 1, 1],
  5896. [0, 0, 1, 1],
  5897. [0, 0, 0, 1],
  5898. ],
  5899. ],
  5900. [
  5901. [
  5902. [1, 0, 0, 0, 0],
  5903. [1, 1, 0, 0, 0],
  5904. [0, 1, 1, 0, 0],
  5905. [0, 0, 1, 1, 0],
  5906. [0, 0, 0, 1, 1],
  5907. ],
  5908. ],
  5909. [
  5910. [
  5911. [1, 0, 0, 0, 0],
  5912. [3, 2, 0, 0, 0],
  5913. [0, 4, 3, 0, 0],
  5914. [0, 0, 5, 4, 0],
  5915. [0, 0, 0, 6, -6],
  5916. ],
  5917. ],
  5918. [
  5919. [
  5920. [-1, 0, 0, 0, 0, 0],
  5921. [6, 2, 0, 0, 0, 0],
  5922. [0, -5, 3, 0, 0, 0],
  5923. [0, 0, 4, 4, 0, 0],
  5924. [0, 0, 0, -2, 5, 0],
  5925. [0, 0, 0, 0, 1, 6],
  5926. ],
  5927. ],
  5928. [
  5929. [
  5930. [1, 0, 0, 0, 0, 0],
  5931. [7, 2, 0, 0, 0, 0],
  5932. [0, 6, 3, 0, 0, 0],
  5933. [0, 0, 5, 4, 0, 0],
  5934. [0, 0, 0, 4, 5, 0],
  5935. [0, 0, 0, 0, 3, 6],
  5936. ],
  5937. ],
  5938. [
  5939. [
  5940. [1, 0, 0, 0, 0, 0],
  5941. [5, 2, 0, 0, 0, 0],
  5942. [0, -5, 1, 0, 0, 0],
  5943. [0, 0, 10, 4, 0, 0],
  5944. [0, 0, 0, 10, 5, 0],
  5945. [0, 0, 0, 0, 4, 1],
  5946. ],
  5947. ],
  5948. [
  5949. [
  5950. [1, 0, 0, 4, 0, 6],
  5951. [5, 2, 0, 0, 4, 1],
  5952. [0, -5, 1, 0, 0, 0],
  5953. [0, 0, 10, 4, 0, 0],
  5954. [7, 0, 0, 10, 5, 0],
  5955. [7, 0, 0, 0, 4, 1],
  5956. ],
  5957. ],
  5958. [
  5959. [
  5960. [1, 1, 0, 3],
  5961. [0, 1, 1, 3],
  5962. [0, 1, 1, 3],
  5963. ],
  5964. ],
  5965. ];
  5966. }
  5967. public function dataProviderForLowerBidiagonalMatrix(): array
  5968. {
  5969. return [
  5970. [
  5971. [
  5972. [1],
  5973. ],
  5974. ],
  5975. [
  5976. [
  5977. [1, 0],
  5978. [1, 1],
  5979. ],
  5980. ],
  5981. [
  5982. [
  5983. [-5, 0],
  5984. [5, 3],
  5985. ],
  5986. ],
  5987. [
  5988. [
  5989. [1, 0, 0],
  5990. [1, 1, 0],
  5991. [0, 1, 1],
  5992. ],
  5993. ],
  5994. [
  5995. [
  5996. [1, 0, 0, 0],
  5997. [1, 1, 0, 0],
  5998. [0, 1, 1, 0],
  5999. [0, 0, 1, 1],
  6000. ],
  6001. ],
  6002. [
  6003. [
  6004. [1, 0, 0, 0, 0],
  6005. [1, 1, 0, 0, 0],
  6006. [0, 1, 1, 0, 0],
  6007. [0, 0, 1, 1, 0],
  6008. [0, 0, 0, 1, 1],
  6009. ],
  6010. ],
  6011. [
  6012. [
  6013. [1, 0, 0, 0, 0],
  6014. [3, 2, 0, 0, 0],
  6015. [0, 4, 3, 0, 0],
  6016. [0, 0, 5, 4, 0],
  6017. [0, 0, 0, 6, -6],
  6018. ],
  6019. ],
  6020. [
  6021. [
  6022. [-1, 0, 0, 0, 0, 0],
  6023. [6, 2, 0, 0, 0, 0],
  6024. [0, -5, 3, 0, 0, 0],
  6025. [0, 0, 4, 4, 0, 0],
  6026. [0, 0, 0, -2, 5, 0],
  6027. [0, 0, 0, 0, 1, 6],
  6028. ],
  6029. ],
  6030. [
  6031. [
  6032. [1, 0, 0, 0, 0, 0],
  6033. [7, 2, 0, 0, 0, 0],
  6034. [0, 6, 3, 0, 0, 0],
  6035. [0, 0, 5, 4, 0, 0],
  6036. [0, 0, 0, 4, 5, 0],
  6037. [0, 0, 0, 0, 3, 6],
  6038. ],
  6039. ],
  6040. [
  6041. [
  6042. [1, 0, 0, 0, 0, 0],
  6043. [5, 2, 0, 0, 0, 0],
  6044. [0, -5, 1, 0, 0, 0],
  6045. [0, 0, 10, 4, 0, 0],
  6046. [0, 0, 0, 10, 5, 0],
  6047. [0, 0, 0, 0, 4, 1],
  6048. ],
  6049. ],
  6050. ];
  6051. }
  6052. public function dataProviderForNotLowerBidiagonalMatrix(): array
  6053. {
  6054. return [
  6055. [
  6056. [
  6057. [1, 1],
  6058. [0, 1],
  6059. ],
  6060. ],
  6061. [
  6062. [
  6063. [-5, 4],
  6064. [0, 3],
  6065. ],
  6066. ],
  6067. [
  6068. [
  6069. [1, 0, 0],
  6070. [1, 1, 0],
  6071. [1, 1, 1],
  6072. ],
  6073. ],
  6074. [
  6075. [
  6076. [1, 1, 0],
  6077. [1, 1, 1],
  6078. [0, 1, 1],
  6079. ],
  6080. ],
  6081. [
  6082. [
  6083. [1, 1, 0],
  6084. [0, 1, 1],
  6085. [0, 0, 1],
  6086. ],
  6087. ],
  6088. [
  6089. [
  6090. [1, 1, 0, 0],
  6091. [0, 1, 1, 0],
  6092. [0, 0, 1, 1],
  6093. [0, 0, 0, 1],
  6094. ],
  6095. ],
  6096. [
  6097. [
  6098. [1, 1, 0, 0],
  6099. [1, 1, 1, 0],
  6100. [0, 1, 1, 1],
  6101. [0, 0, 1, 1],
  6102. ],
  6103. ],
  6104. [
  6105. [
  6106. [1, 0, 0, 0],
  6107. [1, 1, 0, 0],
  6108. [1, 1, 1, 0],
  6109. [0, 0, 1, 1],
  6110. ],
  6111. ],
  6112. [
  6113. [
  6114. [1, 0, 0, 0],
  6115. [1, 1, 0, 0],
  6116. [0, 1, 1, 0],
  6117. [0, 1, 1, 1],
  6118. ],
  6119. ],
  6120. [
  6121. [
  6122. [1, 0, 0, 0],
  6123. [1, 1, 0, 0],
  6124. [0, 1, 1, 0],
  6125. [1, 0, 1, 1],
  6126. ],
  6127. ],
  6128. [
  6129. [
  6130. [1, 0, 0, 0],
  6131. [1, 1, 0, 0],
  6132. [1, 1, 1, 0],
  6133. [1, 1, 1, 1],
  6134. ],
  6135. ],
  6136. [
  6137. [
  6138. [1, 0, 0, 0],
  6139. [1, 1, 1, 0],
  6140. [0, 1, 1, 0],
  6141. [0, 0, 1, 1],
  6142. ],
  6143. ],
  6144. [
  6145. [
  6146. [1, 0, 0, 1],
  6147. [1, 1, 0, 0],
  6148. [0, 1, 1, 0],
  6149. [0, 0, 1, 1],
  6150. ],
  6151. ],
  6152. [
  6153. [
  6154. [1, 1, 0, 0, 0],
  6155. [0, 1, 1, 0, 0],
  6156. [0, 0, 1, 1, 0],
  6157. [0, 0, 0, 1, 1],
  6158. [0, 0, 0, 0, 1],
  6159. ],
  6160. ],
  6161. [
  6162. [
  6163. [1, 3, 0, 0, 0],
  6164. [0, 2, 4, 0, 0],
  6165. [0, 0, 3, 5, 0],
  6166. [0, 0, 0, 4, 6],
  6167. [1, 0, 0, 0, -6],
  6168. ],
  6169. ],
  6170. [
  6171. [
  6172. [-1, 4, 0, 0, 0, 0],
  6173. [0, 2, -5, 0, 0, 0],
  6174. [0, 0, 3, -4, 0, 0],
  6175. [0, 0, 0, 4, 3, 0],
  6176. [0, 1, 0, 0, 5, -1],
  6177. [0, 0, 0, 0, 0, 6],
  6178. ],
  6179. ],
  6180. [
  6181. [
  6182. [1, 6, 0, 0, 0, 0],
  6183. [5, 2, 5, 0, 0, 0],
  6184. [0, 5, 3, 4, 0, 0],
  6185. [0, 0, 5, 4, 3, 0],
  6186. [0, 0, 0, 5, 5, 2],
  6187. [0, 0, 0, 0, 5, 6],
  6188. ],
  6189. ],
  6190. [
  6191. [
  6192. [1, 5, 0, 0, 0, 4],
  6193. [5, 2, 4, 0, 0, 4],
  6194. [5, 0, 4, 3, 0, 0],
  6195. [5, 0, 0, 4, 3, 0],
  6196. [5, 0, 0, 0, 5, 4],
  6197. [5, 0, 0, 0, 0, 5],
  6198. ],
  6199. ],
  6200. [
  6201. [
  6202. [1, 1, 0, 3],
  6203. [0, 1, 1, 3],
  6204. [0, 1, 1, 3],
  6205. ],
  6206. ],
  6207. ];
  6208. }
  6209. public function dataProviderForNotBidiagonalMatrix(): array
  6210. {
  6211. return [
  6212. [
  6213. [
  6214. [1, 1],
  6215. [1, 1],
  6216. ],
  6217. ],
  6218. [
  6219. [
  6220. [-5, 4],
  6221. [5, 3],
  6222. ],
  6223. ],
  6224. [
  6225. [
  6226. [1, 1, 0],
  6227. [0, 1, 1],
  6228. [0, 1, 1],
  6229. ],
  6230. ],
  6231. [
  6232. [
  6233. [1, 1, 0, 0],
  6234. [0, 1, 1, 0],
  6235. [0, 0, 1, 1],
  6236. [0, 1, 0, 1],
  6237. ],
  6238. ],
  6239. [
  6240. [
  6241. [1, 1, 0, 0],
  6242. [1, 1, 1, 0],
  6243. [0, 1, 1, 1],
  6244. [0, 0, 1, 1],
  6245. ],
  6246. ],
  6247. [
  6248. [
  6249. [1, 1, 0, 0, 0],
  6250. [0, 1, 1, 0, 0],
  6251. [0, 0, 1, 1, 0],
  6252. [0, 0, 1, 1, 1],
  6253. [0, 0, 0, 0, 1],
  6254. ],
  6255. ],
  6256. [
  6257. [
  6258. [1, 3, 0, 0, 0],
  6259. [0, 2, 4, 0, 0],
  6260. [0, 0, 3, 5, 0],
  6261. [0, 0, 0, 4, 6],
  6262. [1, 0, 0, 03, -6],
  6263. ],
  6264. ],
  6265. [
  6266. [
  6267. [-1, 4, 0, 0, 0, 0],
  6268. [0, 2, -5, 0, 0, 0],
  6269. [0, 0, 3, -4, 0, 0],
  6270. [0, 0, 0, 4, 3, 0],
  6271. [0, 1, 0, 0, 5, -1],
  6272. [0, 0, 0, 0, 0, 6],
  6273. ],
  6274. ],
  6275. [
  6276. [
  6277. [1, 6, 0, 0, 0, 4],
  6278. [5, 2, 5, 0, 0, 0],
  6279. [0, 5, 3, 4, 0, 0],
  6280. [0, 0, 5, 4, 3, 0],
  6281. [0, 0, 0, 5, 5, 2],
  6282. [0, 0, 0, 0, 5, 6],
  6283. ],
  6284. ],
  6285. [
  6286. [
  6287. [1, 5, 0, 0, 0, 4],
  6288. [5, 2, 4, 0, 0, 4],
  6289. [5, 0, 4, 3, 0, 0],
  6290. [5, 0, 0, 4, 3, 0],
  6291. [5, 0, 0, 0, 5, 4],
  6292. [5, 0, 0, 0, 0, 5],
  6293. ],
  6294. ],
  6295. [
  6296. [
  6297. [1, 1, 0, 3],
  6298. [0, 1, 1, 3],
  6299. [0, 1, 1, 3],
  6300. ],
  6301. ],
  6302. ];
  6303. }
  6304. public function dataProviderForTridiagonalMatrix(): array
  6305. {
  6306. return [
  6307. [
  6308. [
  6309. [1],
  6310. ],
  6311. ],
  6312. [
  6313. [
  6314. [1, 1],
  6315. [1, 1],
  6316. ],
  6317. ],
  6318. [
  6319. [
  6320. [-5, 4],
  6321. [6, 3],
  6322. ],
  6323. ],
  6324. [
  6325. [
  6326. [1, 1, 0],
  6327. [1, 1, 1],
  6328. [0, 1, 1],
  6329. ],
  6330. ],
  6331. [
  6332. [
  6333. [1, 1, 0, 0],
  6334. [1, 1, 1, 0],
  6335. [0, 1, 1, 1],
  6336. [0, 0, 1, 1],
  6337. ],
  6338. ],
  6339. [
  6340. [
  6341. [0, 0, 0, 0],
  6342. [0, 0, 0, 0],
  6343. [0, 0, 0, 0],
  6344. [0, 0, 0, 0],
  6345. ],
  6346. ],
  6347. [
  6348. [
  6349. [1, 0, 0, 0],
  6350. [0, 1, 0, 0],
  6351. [0, 0, 1, 0],
  6352. [0, 0, 0, 1],
  6353. ],
  6354. ],
  6355. [
  6356. [
  6357. [0, 1, 0, 0],
  6358. [1, 0, 1, 0],
  6359. [0, 1, 0, 1],
  6360. [0, 0, 1, 0],
  6361. ],
  6362. ],
  6363. [
  6364. [
  6365. [0, 1, 0, 0],
  6366. [0, 0, 1, 0],
  6367. [0, 1, 0, 1],
  6368. [0, 0, 0, 0],
  6369. ],
  6370. ],
  6371. [
  6372. [
  6373. [0, 0, 0, 0],
  6374. [1, 0, 0, 0],
  6375. [0, 1, 0, 0],
  6376. [0, 0, 1, 0],
  6377. ],
  6378. ],
  6379. [
  6380. [
  6381. [1, 1, 0, 0],
  6382. [1, 0, 1, 0],
  6383. [0, 1, 1, 1],
  6384. [0, 0, 1, 1],
  6385. ],
  6386. ],
  6387. [
  6388. [
  6389. [1, 1, 0, 0, 0],
  6390. [1, 1, 1, 0, 0],
  6391. [0, 1, 1, 1, 0],
  6392. [0, 0, 1, 1, 1],
  6393. [0, 0, 0, 1, 1],
  6394. ],
  6395. ],
  6396. [
  6397. [
  6398. [1, 3, 0, 0, 0],
  6399. [3, 2, 4, 0, 0],
  6400. [0, 5, 3, 5, 0],
  6401. [0, 0, 5, 4, 6],
  6402. [0, 0, 0, 3, -6],
  6403. ],
  6404. ],
  6405. [
  6406. [
  6407. [-1, 4, 0, 0, 0, 0],
  6408. [5, 2, -5, 0, 0, 0],
  6409. [0, -6, 3, -4, 0, 0],
  6410. [0, 0, 4, 4, 3, 0],
  6411. [0, 0, 0, 3, 5, -1],
  6412. [0, 0, 0, 0, 1, 6],
  6413. ],
  6414. ],
  6415. [
  6416. [
  6417. [1, 6, 0, 0, 0, 0],
  6418. [6, 2, 5, 0, 0, 0],
  6419. [0, 5, 3, 4, 0, 0],
  6420. [0, 0, 5, 4, 3, 0],
  6421. [0, 0, 0, 6, 5, 2],
  6422. [0, 0, 0, 0, 2, 6],
  6423. ],
  6424. ],
  6425. [
  6426. [
  6427. [1, 5, 0, 0, 0, 0],
  6428. [5, 2, 4, 0, 0, 0],
  6429. [0, 4, 4, 3, 0, 0],
  6430. [0, 0, 3, 4, 3, 0],
  6431. [0, 0, 0, 2, 5, 4],
  6432. [0, 0, 0, 0, 3, 5],
  6433. ],
  6434. ],
  6435. ];
  6436. }
  6437. public function dataProviderForNotTridiagonalMatrix(): array
  6438. {
  6439. return [
  6440. [
  6441. [
  6442. [1, 1, 1],
  6443. [0, 1, 1],
  6444. [0, 0, 1],
  6445. ],
  6446. ],
  6447. [
  6448. [
  6449. [1, 1, 1, 0],
  6450. [0, 1, 1, 0],
  6451. [0, 0, 1, 0],
  6452. ],
  6453. ],
  6454. [
  6455. [
  6456. [1, 1, 1],
  6457. [0, 1, 1],
  6458. [0, 0, 1],
  6459. [0, 0, 0],
  6460. ],
  6461. ],
  6462. [
  6463. [
  6464. [1, 0, 0, 0],
  6465. [1, 1, 0, 0],
  6466. [1, 1, 1, 0],
  6467. [1, 1, 1, 1],
  6468. ],
  6469. ],
  6470. [
  6471. [
  6472. [1, 1, 1, 1],
  6473. [1, 1, 1, 1],
  6474. [0, 1, 1, 1],
  6475. [0, 0, 1, 1],
  6476. ],
  6477. ],
  6478. [
  6479. [
  6480. [1, 0, 1, 0],
  6481. [1, 1, 1, 0],
  6482. [0, 1, 1, 1],
  6483. [0, 0, 1, 1],
  6484. ],
  6485. ],
  6486. [
  6487. [
  6488. [1, 1, 0, 0],
  6489. [1, 1, 1, 0],
  6490. [0, 1, 1, 1],
  6491. [1, 0, 1, 0],
  6492. ],
  6493. ],
  6494. [
  6495. [
  6496. [1, 1, 0, 0],
  6497. [1, 1, 1, 0],
  6498. [1, 1, 1, 1],
  6499. [0, 0, 0, 1],
  6500. ],
  6501. ],
  6502. [
  6503. [
  6504. [1, 1, 0, 0],
  6505. [1, 1, 1, 1],
  6506. [0, 1, 0, 1],
  6507. [0, 0, 1, 1],
  6508. ],
  6509. ],
  6510. [
  6511. [
  6512. [1, 1, 1, 1],
  6513. [1, 1, 1, 0],
  6514. [0, 0, 1, 1],
  6515. [0, 0, 1, 1],
  6516. ],
  6517. ],
  6518. [
  6519. [
  6520. [1, 1, 1, 0],
  6521. [1, 1, 1, 0],
  6522. [0, 1, 1, 1],
  6523. [0, 0, 1, 1],
  6524. ],
  6525. ],
  6526. [
  6527. [
  6528. [1, 1, 0, 0],
  6529. [1, 1, 1, 1],
  6530. [0, 1, 1, 1],
  6531. [0, 1, 1, 1],
  6532. ],
  6533. ],
  6534. [
  6535. [
  6536. [1, 1, 0, 1],
  6537. [1, 1, 1, 0],
  6538. [0, 1, 1, 1],
  6539. [1, 0, 1, 1],
  6540. ],
  6541. ],
  6542. [
  6543. [
  6544. [1, 1, 0, 0],
  6545. [1, 1, 1, 0],
  6546. [1, 1, 1, 1],
  6547. [0, 0, 1, 1],
  6548. ],
  6549. ],
  6550. [
  6551. [
  6552. [1, 1, 1, 1],
  6553. [1, 1, 1, 0],
  6554. [1, 1, 1, 1],
  6555. [1, 1, 1, 1],
  6556. ],
  6557. ],
  6558. [
  6559. [
  6560. [1, 1, 0, 0],
  6561. [1, 1, 1, 0],
  6562. [0, 1, 1, 1],
  6563. [1, 0, 1, 1],
  6564. ],
  6565. ],
  6566. [
  6567. [
  6568. [1, 2, 3, 0, 0],
  6569. [0, 1, 2, 3, 0],
  6570. [0, 0, 1, 2, 3],
  6571. [0, 0, 0, 1, 2],
  6572. [0, 0, 0, 0, 1],
  6573. ],
  6574. ],
  6575. [
  6576. [
  6577. [1, 0, 5, 0, 0, 0],
  6578. [0, 1, 0, 0, 0, 0],
  6579. [0, 0, 1, 0, 0, 0],
  6580. [0, 0, 0, 1, 0, 0],
  6581. [0, 0, 0, 0, 1, 0],
  6582. [0, 0, 0, 0, 0, 1],
  6583. ],
  6584. ],
  6585. [
  6586. [
  6587. [1, 1, 0, 0, 0, 0, 0],
  6588. [1, 1, 1, 0, 0, 0, 5],
  6589. [0, 1, 1, 1, 0, 0, 0],
  6590. [0, 0, 1, 1, 1, 0, 0],
  6591. [0, 0, 0, 1, 1, 1, 0],
  6592. [0, 0, 0, 0, 1, 1, 1],
  6593. [0, 0, 0, 0, 0, 1, 1],
  6594. ],
  6595. ],
  6596. [
  6597. [
  6598. [0, 1, 0, 0, 0, 0, 0, 0],
  6599. [1, 0, 1, 0, 0, 0, 0, 0],
  6600. [0, 1, 0, 1, 0, 0, 0, 0],
  6601. [0, 0, 1, 0, 1, 0, 0, 0],
  6602. [0, 0, 0, 1, 0, 1, 0, 0],
  6603. [0, 0, 0, 0, 1, 0, 1, 0],
  6604. [0, 0, 3, 0, 0, 1, 0, 1],
  6605. [0, 0, 0, 0, 0, 0, 1, 0],
  6606. ],
  6607. ],
  6608. ];
  6609. }
  6610. public function dataProviderForUpperHessenbergMatrix(): array
  6611. {
  6612. return [
  6613. [
  6614. [
  6615. [1],
  6616. ],
  6617. ],
  6618. [
  6619. [
  6620. [1, 0],
  6621. [0, 1],
  6622. ],
  6623. ],
  6624. [
  6625. [
  6626. [1, 1],
  6627. [1, 1],
  6628. ],
  6629. ],
  6630. [
  6631. [
  6632. [-5, 1],
  6633. [0, 3],
  6634. ],
  6635. ],
  6636. [
  6637. [
  6638. [1, 0, 0],
  6639. [1, 1, 0],
  6640. [0, 1, 1],
  6641. ],
  6642. ],
  6643. [
  6644. [
  6645. [1, 0, 0, 0],
  6646. [1, 1, 0, 0],
  6647. [0, 1, 1, 0],
  6648. [0, 0, 1, 1],
  6649. ],
  6650. ],
  6651. [
  6652. [
  6653. [1, 1, 0, 0],
  6654. [1, 1, 1, 0],
  6655. [0, 1, 1, 1],
  6656. [0, 0, 1, 1],
  6657. ],
  6658. ],
  6659. [
  6660. [
  6661. [1, 1, 1, 0],
  6662. [1, 1, 1, 1],
  6663. [0, 1, 1, 1],
  6664. [0, 0, 1, 1],
  6665. ],
  6666. ],
  6667. [
  6668. [
  6669. [1, 1, 1, 1],
  6670. [1, 1, 1, 1],
  6671. [0, 1, 1, 1],
  6672. [0, 0, 1, 1],
  6673. ],
  6674. ],
  6675. [
  6676. [
  6677. [1, 0, 0, 0, 0],
  6678. [1, 1, 0, 0, 0],
  6679. [0, 1, 1, 0, 0],
  6680. [0, 0, 1, 1, 0],
  6681. [0, 0, 0, 1, 1],
  6682. ],
  6683. ],
  6684. [
  6685. [
  6686. [1, 0, 0, 0, 0],
  6687. [3, 2, 0, 0, 0],
  6688. [0, 4, 3, 0, 0],
  6689. [0, 0, 5, 4, 0],
  6690. [0, 0, 0, 6, -6],
  6691. ],
  6692. ],
  6693. [
  6694. [
  6695. [-1, 0, 0, 0, 0, 0],
  6696. [6, 2, 0, 0, 0, 0],
  6697. [0, -5, 3, 0, 0, 0],
  6698. [0, 0, 4, 4, 0, 0],
  6699. [0, 0, 0, -2, 5, 0],
  6700. [0, 0, 0, 0, 1, 6],
  6701. ],
  6702. ],
  6703. [
  6704. [
  6705. [1, 0, 0, 0, 0, 0],
  6706. [7, 2, 0, 0, 0, 0],
  6707. [0, 6, 3, 0, 0, 0],
  6708. [0, 0, 5, 4, 0, 0],
  6709. [0, 0, 0, 4, 5, 0],
  6710. [0, 0, 0, 0, 3, 6],
  6711. ],
  6712. ],
  6713. [
  6714. [
  6715. [1, 0, 0, 0, 0, 0],
  6716. [5, 2, 0, 0, 0, 0],
  6717. [0, -5, 1, 0, 0, 0],
  6718. [0, 0, 10, 4, 0, 0],
  6719. [0, 0, 0, 10, 5, 0],
  6720. [0, 0, 0, 0, 4, 1],
  6721. ],
  6722. ],
  6723. ];
  6724. }
  6725. public function dataProviderForNotUpperHessenbergMatrix(): array
  6726. {
  6727. return [
  6728. [
  6729. [
  6730. [1, 0, 0, 0],
  6731. [1, 1, 0, 0],
  6732. [1, 1, 1, 0],
  6733. ],
  6734. ],
  6735. [
  6736. [
  6737. [1, 0, 0],
  6738. [1, 1, 0],
  6739. [1, 1, 1],
  6740. [0, 0, 0],
  6741. ],
  6742. ],
  6743. [
  6744. [
  6745. [1, 0, 0],
  6746. [1, 1, 0],
  6747. [1, 1, 1],
  6748. ],
  6749. ],
  6750. [
  6751. [
  6752. [1, 0, 0, 0],
  6753. [1, 1, 0, 0],
  6754. [0, 1, 1, 0],
  6755. [1, 0, 1, 1],
  6756. ],
  6757. ],
  6758. [
  6759. [
  6760. [1, 1, 0, 0],
  6761. [1, 1, 1, 0],
  6762. [1, 1, 1, 1],
  6763. [0, 0, 1, 1],
  6764. ],
  6765. ],
  6766. [
  6767. [
  6768. [1, 1, 1, 0],
  6769. [1, 1, 1, 1],
  6770. [0, 1, 1, 1],
  6771. [0, 1, 1, 1],
  6772. ],
  6773. ],
  6774. [
  6775. [
  6776. [1, 1, 1, 1],
  6777. [1, 1, 1, 1],
  6778. [1, 1, 1, 1],
  6779. [1, 1, 1, 1],
  6780. ],
  6781. ],
  6782. [
  6783. [
  6784. [1, 0, 0, 0, 0],
  6785. [1, 1, 0, 0, 0],
  6786. [0, 1, 1, 0, 0],
  6787. [0, 0, 1, 1, 0],
  6788. [0, 1, 0, 1, 1],
  6789. ],
  6790. ],
  6791. [
  6792. [
  6793. [1, 0, 0, 0, 0],
  6794. [3, 2, 0, 0, 0],
  6795. [0, 4, 3, 0, 0],
  6796. [1, 0, 5, 4, 0],
  6797. [0, 0, 0, 6, -6],
  6798. ],
  6799. ],
  6800. [
  6801. [
  6802. [-1, 0, 0, 0, 0, 0],
  6803. [6, 2, 0, 0, 0, 0],
  6804. [0, -5, 3, 0, 0, 0],
  6805. [0, 0, 4, 4, 0, 0],
  6806. [0, 0, 0, -2, 5, 0],
  6807. [1, 0, 0, 0, 1, 6],
  6808. ],
  6809. ],
  6810. [
  6811. [
  6812. [1, 0, 0, 0, 0, 0],
  6813. [7, 2, 0, 0, 0, 0],
  6814. [0, 6, 3, 0, 0, 0],
  6815. [0, 0, 5, 4, 0, 0],
  6816. [0, 0, 0, 4, 5, 0],
  6817. [0, 0, 0, 1, 3, 6],
  6818. ],
  6819. ],
  6820. [
  6821. [
  6822. [1, 0, 0, 0, 0, 0],
  6823. [5, 2, 0, 0, 0, 0],
  6824. [0, -5, 1, 0, 0, 0],
  6825. [0, 1, 10, 4, 0, 0],
  6826. [0, 0, 0, 10, 5, 0],
  6827. [0, 0, 0, 0, 4, 1],
  6828. ],
  6829. ],
  6830. ];
  6831. }
  6832. public function dataProviderForIdentityMatrix(): array
  6833. {
  6834. return [
  6835. [
  6836. [
  6837. [1],
  6838. ],
  6839. ],
  6840. [
  6841. [
  6842. [1, 0],
  6843. [0, 1],
  6844. ],
  6845. ],
  6846. [
  6847. [
  6848. [1, 0, 0],
  6849. [0, 1, 0],
  6850. [0, 0, 1],
  6851. ],
  6852. ],
  6853. [
  6854. [
  6855. [1, 0, 0, 0],
  6856. [0, 1, 0, 0],
  6857. [0, 0, 1, 0],
  6858. [0, 0, 0, 1],
  6859. ],
  6860. ],
  6861. [
  6862. [
  6863. [1, 0, 0, 0, 0],
  6864. [0, 1, 0, 0, 0],
  6865. [0, 0, 1, 0, 0],
  6866. [0, 0, 0, 1, 0],
  6867. [0, 0, 0, 0, 1],
  6868. ],
  6869. ],
  6870. [
  6871. [
  6872. [1, 0, 0, 0, 0, 0],
  6873. [0, 1, 0, 0, 0, 0],
  6874. [0, 0, 1, 0, 0, 0],
  6875. [0, 0, 0, 1, 0, 0],
  6876. [0, 0, 0, 0, 1, 0],
  6877. [0, 0, 0, 0, 0, 1],
  6878. ],
  6879. ],
  6880. [
  6881. [
  6882. [1, 0, 0, 0, 0, 0, 0],
  6883. [0, 1, 0, 0, 0, 0, 0],
  6884. [0, 0, 1, 0, 0, 0, 0],
  6885. [0, 0, 0, 1, 0, 0, 0],
  6886. [0, 0, 0, 0, 1, 0, 0],
  6887. [0, 0, 0, 0, 0, 1, 0],
  6888. [0, 0, 0, 0, 0, 0, 1],
  6889. ],
  6890. ],
  6891. [
  6892. [
  6893. [1, 0, 0, 0, 0, 0, 0, 0],
  6894. [0, 1, 0, 0, 0, 0, 0, 0],
  6895. [0, 0, 1, 0, 0, 0, 0, 0],
  6896. [0, 0, 0, 1, 0, 0, 0, 0],
  6897. [0, 0, 0, 0, 1, 0, 0, 0],
  6898. [0, 0, 0, 0, 0, 1, 0, 0],
  6899. [0, 0, 0, 0, 0, 0, 1, 0],
  6900. [0, 0, 0, 0, 0, 0, 0, 1],
  6901. ],
  6902. ],
  6903. ];
  6904. }
  6905. public function dataProviderForLowerHessenbergMatrix(): array
  6906. {
  6907. return [
  6908. [
  6909. [
  6910. [1],
  6911. ],
  6912. ],
  6913. [
  6914. [
  6915. [0],
  6916. ],
  6917. ],
  6918. [
  6919. [
  6920. [1, 1],
  6921. [1, 1],
  6922. ],
  6923. ],
  6924. [
  6925. [
  6926. [-5, 4],
  6927. [5, 3],
  6928. ],
  6929. ],
  6930. [
  6931. [
  6932. [1, 1, 0],
  6933. [0, 1, 1],
  6934. [0, 0, 1],
  6935. ],
  6936. ],
  6937. [
  6938. [
  6939. [1, 1, 0],
  6940. [1, 1, 1],
  6941. [1, 1, 1],
  6942. ],
  6943. ],
  6944. [
  6945. [
  6946. [1, 0, 0],
  6947. [0, 1, 0],
  6948. [0, 0, 1],
  6949. ],
  6950. ],
  6951. [
  6952. [
  6953. [0, 0, 0],
  6954. [0, 1, 0],
  6955. [0, 0, 1],
  6956. ],
  6957. ],
  6958. [
  6959. [
  6960. [0, 0, 0],
  6961. [0, 0, 0],
  6962. [0, 0, 0],
  6963. ],
  6964. ],
  6965. [
  6966. [
  6967. [1, 1, 0, 0],
  6968. [0, 1, 1, 0],
  6969. [0, 0, 1, 1],
  6970. [0, 0, 0, 1],
  6971. ],
  6972. ],
  6973. [
  6974. [
  6975. [1, 1, 0, 0, 0],
  6976. [0, 1, 1, 0, 0],
  6977. [0, 0, 1, 1, 0],
  6978. [0, 0, 0, 1, 1],
  6979. [0, 0, 0, 0, 1],
  6980. ],
  6981. ],
  6982. [
  6983. [
  6984. [1, 1, 0, 0, 0],
  6985. [1, 1, 1, 0, 0],
  6986. [0, 1, 1, 1, 0],
  6987. [0, 0, 1, 1, 1],
  6988. [0, 0, 0, 1, 1],
  6989. ],
  6990. ],
  6991. [
  6992. [
  6993. [1, 1, 0, 0, 0],
  6994. [1, 1, 1, 0, 0],
  6995. [1, 1, 1, 1, 0],
  6996. [0, 1, 1, 1, 1],
  6997. [0, 0, 1, 1, 1],
  6998. ],
  6999. ],
  7000. [
  7001. [
  7002. [1, 1, 0, 0, 0],
  7003. [1, 1, 1, 0, 0],
  7004. [1, 1, 1, 1, 0],
  7005. [1, 1, 1, 1, 1],
  7006. [1, 1, 1, 1, 1],
  7007. ],
  7008. ],
  7009. [
  7010. [
  7011. [1, 3, 0, 0, 0],
  7012. [0, 2, 4, 0, 0],
  7013. [0, 0, 3, 5, 0],
  7014. [0, 0, 0, 4, 6],
  7015. [0, 0, 0, 0, -6],
  7016. ],
  7017. ],
  7018. [
  7019. [
  7020. [-1, 4, 0, 0, 0, 0],
  7021. [0, 2, -5, 0, 0, 0],
  7022. [0, 0, 3, -4, 0, 0],
  7023. [0, 0, 0, 4, 3, 0],
  7024. [0, 0, 0, 0, 5, -1],
  7025. [0, 0, 0, 0, 0, 6],
  7026. ],
  7027. ],
  7028. [
  7029. [
  7030. [1, 6, 0, 0, 0, 0],
  7031. [0, 2, 5, 0, 0, 0],
  7032. [0, 0, 3, 4, 0, 0],
  7033. [0, 0, 0, 4, 3, 0],
  7034. [0, 0, 0, 0, 5, 2],
  7035. [0, 0, 0, 0, 0, 6],
  7036. ],
  7037. ],
  7038. [
  7039. [
  7040. [1, 5, 0, 0, 0, 0],
  7041. [0, 2, 4, 0, 0, 0],
  7042. [0, 0, 4, 3, 0, 0],
  7043. [0, 0, 0, 4, 3, 0],
  7044. [0, 0, 0, 0, 5, 4],
  7045. [0, 0, 0, 0, 0, 5],
  7046. ],
  7047. ],
  7048. ];
  7049. }
  7050. public function dataProviderForNotLowerHessenbergMatrix(): array
  7051. {
  7052. return [
  7053. [
  7054. [
  7055. [1, 1, 1, 0],
  7056. [0, 1, 1, 0],
  7057. [0, 0, 1, 0],
  7058. ],
  7059. ],
  7060. [
  7061. [
  7062. [1, 1, 1],
  7063. [0, 1, 1],
  7064. [0, 0, 1],
  7065. [0, 0, 0],
  7066. ],
  7067. ],
  7068. [
  7069. [
  7070. [1, 1, 1],
  7071. [0, 1, 1],
  7072. [0, 0, 1],
  7073. ],
  7074. ],
  7075. [
  7076. [
  7077. [1, 1, 1],
  7078. [1, 1, 1],
  7079. [1, 1, 1],
  7080. ],
  7081. ],
  7082. [
  7083. [
  7084. [1, 0, 1],
  7085. [0, 1, 1],
  7086. [0, 0, 1],
  7087. ],
  7088. ],
  7089. [
  7090. [
  7091. [0, 1, 1],
  7092. [0, 1, 0],
  7093. [0, 0, 1],
  7094. ],
  7095. ],
  7096. [
  7097. [
  7098. [0, 0, 1],
  7099. [0, 0, 0],
  7100. [0, 0, 0],
  7101. ],
  7102. ],
  7103. [
  7104. [
  7105. [1, 1, 1, 0],
  7106. [0, 1, 1, 0],
  7107. [0, 0, 1, 1],
  7108. [0, 0, 0, 1],
  7109. ],
  7110. ],
  7111. [
  7112. [
  7113. [1, 1, 0, 1, 0],
  7114. [0, 1, 1, 0, 0],
  7115. [0, 0, 1, 1, 0],
  7116. [0, 0, 0, 1, 1],
  7117. [0, 0, 0, 0, 1],
  7118. ],
  7119. ],
  7120. [
  7121. [
  7122. [1, 1, 1, 0, 0],
  7123. [1, 1, 1, 0, 0],
  7124. [0, 1, 1, 1, 0],
  7125. [0, 0, 1, 1, 1],
  7126. [0, 0, 0, 1, 1],
  7127. ],
  7128. ],
  7129. [
  7130. [
  7131. [1, 1, 0, 0, 1],
  7132. [1, 1, 1, 0, 0],
  7133. [1, 1, 1, 1, 0],
  7134. [0, 1, 1, 1, 1],
  7135. [0, 0, 1, 1, 1],
  7136. ],
  7137. ],
  7138. [
  7139. [
  7140. [1, 1, 0, 1, 0],
  7141. [1, 1, 1, 1, 0],
  7142. [1, 1, 1, 1, 0],
  7143. [1, 1, 1, 1, 1],
  7144. [1, 1, 1, 1, 1],
  7145. ],
  7146. ],
  7147. [
  7148. [
  7149. [1, 3, 0, 0, 0],
  7150. [0, 2, 4, 0, 1],
  7151. [0, 0, 3, 5, 0],
  7152. [0, 0, 0, 4, 6],
  7153. [0, 0, 0, 0, -6],
  7154. ],
  7155. ],
  7156. [
  7157. [
  7158. [-1, 4, 0, 0, 0, 0],
  7159. [0, 2, -5, 0, 0, 0],
  7160. [0, 0, 3, -4, 0, 1],
  7161. [0, 0, 0, 4, 3, 0],
  7162. [0, 0, 0, 0, 5, -1],
  7163. [0, 0, 0, 0, 0, 6],
  7164. ],
  7165. ],
  7166. [
  7167. [
  7168. [1, 6, 0, 0, 0, 0],
  7169. [0, 2, 5, 0, 0, 0],
  7170. [0, 0, 3, 4, 1, 0],
  7171. [0, 0, 0, 4, 3, 0],
  7172. [0, 0, 0, 0, 5, 2],
  7173. [0, 0, 0, 0, 0, 6],
  7174. ],
  7175. ],
  7176. [
  7177. [
  7178. [1, 5, 0, 0, 0, 1],
  7179. [0, 2, 4, 0, 0, 0],
  7180. [0, 0, 4, 3, 0, 0],
  7181. [0, 0, 0, 4, 3, 0],
  7182. [0, 0, 0, 0, 5, 4],
  7183. [0, 0, 0, 0, 0, 5],
  7184. ],
  7185. ],
  7186. ];
  7187. }
  7188. public function dataProviderForOrthogonalMatrix(): array
  7189. {
  7190. return [
  7191. [
  7192. [
  7193. [1]
  7194. ]
  7195. ],
  7196. [
  7197. [
  7198. [-1]
  7199. ]
  7200. ],
  7201. [
  7202. [
  7203. [1, 0],
  7204. [0, 1],
  7205. ]
  7206. ],
  7207. [
  7208. [
  7209. [1, 0],
  7210. [0, -1],
  7211. ]
  7212. ],
  7213. [
  7214. [
  7215. [-1, 0],
  7216. [0, 1],
  7217. ]
  7218. ],
  7219. [
  7220. [
  7221. [0, 1],
  7222. [1, 0],
  7223. ]
  7224. ],
  7225. [
  7226. [
  7227. [0.96, -0.28],
  7228. [0.28, 0.96],
  7229. ]
  7230. ],
  7231. [
  7232. [
  7233. [0, -0.80, -0.60],
  7234. [0.80, -0.36, 0.48],
  7235. [0.60, 0.48, -0.64],
  7236. ]
  7237. ],
  7238. [
  7239. [
  7240. [0, 0, 0, 1],
  7241. [0, 0, 1, 0],
  7242. [1, 0, 0, 0],
  7243. [0, 1, 0, 0],
  7244. ]
  7245. ],
  7246. [
  7247. [
  7248. [0, -1, 0],
  7249. [1, 0, 0],
  7250. [0, 0, -1],
  7251. ]
  7252. ],
  7253. [
  7254. [
  7255. [-1, 0, 0],
  7256. [0, -1, 0],
  7257. [0, 0, -1],
  7258. ]
  7259. ],
  7260. [
  7261. [
  7262. [1 / \sqrt(2), 1 / \sqrt(2)],
  7263. [1 / \sqrt(2), -1 / \sqrt(2)],
  7264. ]
  7265. ],
  7266. [
  7267. [
  7268. [2 / 3, -2 / 3, 1 / 3],
  7269. [1 / 3, 2 / 3, 2 / 3],
  7270. [2 / 3, 1 / 3, -2 / 3],
  7271. ]
  7272. ],
  7273. ];
  7274. }
  7275. public function dataProviderForNonOrthogonalMatrix(): array
  7276. {
  7277. return [
  7278. // Not square
  7279. [
  7280. [
  7281. [1],
  7282. [0],
  7283. ]
  7284. ],
  7285. [
  7286. [
  7287. [0.96, -0.28, 2],
  7288. [0.28, 0.96, 5],
  7289. ]
  7290. ],
  7291. // Square but not orthogonal
  7292. [
  7293. [
  7294. [3, 1],
  7295. [7, 5],
  7296. ]
  7297. ],
  7298. ];
  7299. }
  7300. public function dataProviderForNonNormalMatrix(): array
  7301. {
  7302. return [
  7303. // Not square
  7304. [
  7305. [
  7306. [1],
  7307. [0],
  7308. ]
  7309. ],
  7310. [
  7311. [
  7312. [0.96, -0.28, 2],
  7313. [0.28, 0.96, 5],
  7314. ]
  7315. ],
  7316. // Square but not normal
  7317. [
  7318. [
  7319. [1, 2, 0],
  7320. [3, 4, 0],
  7321. [0, 0, 0],
  7322. ]
  7323. ],
  7324. ];
  7325. }
  7326. public function dataProviderForMatrixWithWeirdNumbers(): array
  7327. {
  7328. return [
  7329. [
  7330. [
  7331. [0.0000000000001],
  7332. ]
  7333. ],
  7334. [
  7335. [
  7336. [0.000000000001, 0.0000000000002],
  7337. [0.0000000000034, 0.000000000009994387],
  7338. ]
  7339. ],
  7340. [
  7341. [
  7342. [1 / 2, 1 / 3, 1 / 4],
  7343. [1 / 5, 1 / 6, 1 / 7],
  7344. [2 / 3, 3 / 5, 8 / 9],
  7345. ]
  7346. ],
  7347. [
  7348. [
  7349. [\cos(1), \cos(0), \cos(1.4)],
  7350. [ \sin(1), \sin(0), \sin(1.4)],
  7351. [\tan(1), \tan(0), \tan(1.4)],
  7352. [ \sin(\M_PI), \cos(\M_PI), \tan(\M_PI)],
  7353. ]
  7354. ],
  7355. [
  7356. [
  7357. [\M_PI, \M_2_PI, \M_2_SQRTPI],
  7358. [\M_E, \M_EULER, \M_LOG2E],
  7359. [\M_LOG10E, \M_LN2, \M_LNPI],
  7360. ]
  7361. ],
  7362. [
  7363. [
  7364. [\PHP_INT_MAX, \PHP_INT_MIN],
  7365. [\INF, -\INF],
  7366. ]
  7367. ]
  7368. ];
  7369. }
  7370. public function dataProviderForBidiagonalMatrix(): \Generator
  7371. {
  7372. foreach ($this->dataProviderForUpperBidiagonalMatrix() as $matrix) {
  7373. yield $matrix;
  7374. }
  7375. foreach ($this->dataProviderForLowerBidiagonalMatrix() as $matrix) {
  7376. yield $matrix;
  7377. }
  7378. }
  7379. public function dataProviderForSingleMatrix(): \Generator
  7380. {
  7381. foreach ($this->dataProviderForSquareMatrix() as $matrix) {
  7382. yield $matrix;
  7383. }
  7384. foreach ($this->dataProviderForNotSquareMatrix() as $matrix) {
  7385. yield $matrix;
  7386. }
  7387. foreach ($this->dataProviderForSymmetricMatrix() as $matrix) {
  7388. yield $matrix;
  7389. }
  7390. foreach ($this->dataProviderForNonsingularMatrix() as $matrix) {
  7391. yield $matrix;
  7392. }
  7393. foreach ($this->dataProviderForPositiveDefiniteMatrix() as $matrix) {
  7394. yield $matrix;
  7395. }
  7396. foreach ($this->dataProviderForPositiveSemidefiniteMatrix() as $matrix) {
  7397. yield $matrix;
  7398. }
  7399. foreach ($this->dataProviderForNegativeDefiniteMatrix() as $matrix) {
  7400. yield $matrix;
  7401. }
  7402. foreach ($this->dataProviderForNegativeSemidefiniteMatrix() as $matrix) {
  7403. yield $matrix;
  7404. }
  7405. foreach ($this->dataProviderForUpperTriangularMatrix() as $matrix) {
  7406. yield $matrix;
  7407. }
  7408. foreach ($this->dataProviderForLowerTriangularMatrix() as $matrix) {
  7409. yield $matrix;
  7410. }
  7411. foreach ($this->dataProviderForDiagonalMatrix() as $matrix) {
  7412. yield $matrix;
  7413. }
  7414. foreach ($this->dataProviderForRefMatrix() as $matrix) {
  7415. yield $matrix;
  7416. }
  7417. foreach ($this->dataProviderForRrefMatrix() as $matrix) {
  7418. yield $matrix;
  7419. }
  7420. foreach ($this->dataProviderForInvolutoryMatrix() as $matrix) {
  7421. yield $matrix;
  7422. }
  7423. foreach ($this->dataProviderForUpperBidiagonalMatrix() as $matrix) {
  7424. yield $matrix;
  7425. }
  7426. foreach ($this->dataProviderForLowerBidiagonalMatrix() as $matrix) {
  7427. yield $matrix;
  7428. }
  7429. foreach ($this->dataProviderForBidiagonalMatrix() as $matrix) {
  7430. yield $matrix;
  7431. }
  7432. foreach ($this->dataProviderForIdentityMatrix() as $matrix) {
  7433. yield $matrix;
  7434. }
  7435. foreach ($this->dataProviderForMatrixWithWeirdNumbers() as $matrix) {
  7436. yield $matrix;
  7437. }
  7438. }
  7439. public function dataProviderForObjectMatrix(): array
  7440. {
  7441. return [
  7442. [
  7443. [
  7444. [new Polynomial([1, 0])]
  7445. ],
  7446. ],
  7447. [
  7448. [
  7449. [new Polynomial([1, 0]), new Polynomial([1, 0])]
  7450. ]
  7451. ],
  7452. [
  7453. [
  7454. [new Polynomial([1, 0]), new Polynomial([0, 0])],
  7455. [new Polynomial([0, 0]), new Polynomial([1, 0])],
  7456. ]
  7457. ],
  7458. ];
  7459. }
  7460. public function dataProviderForObjectSquareMatrix(): array
  7461. {
  7462. return [
  7463. [
  7464. [
  7465. [new Polynomial([1, 0])]
  7466. ],
  7467. ],
  7468. [
  7469. [
  7470. [new Polynomial([1, 0]), new Polynomial([0, 0])],
  7471. [new Polynomial([0, 0]), new Polynomial([1, 0])],
  7472. ]
  7473. ],
  7474. [
  7475. [
  7476. [new Polynomial([1, 0]), new Polynomial([0, 0]), new Polynomial([1, 1])],
  7477. [new Polynomial([0, 0]), new Polynomial([1, 0]), new Polynomial([1, 1])],
  7478. [new Polynomial([0, 0]), new Polynomial([1, 0]), new Polynomial([1, 1])],
  7479. ]
  7480. ],
  7481. ];
  7482. }
  7483. public function dataProviderForComplexObjectMatrix(): array
  7484. {
  7485. return [
  7486. [
  7487. [
  7488. [new Complex(1, 1)]
  7489. ],
  7490. ],
  7491. [
  7492. [
  7493. [new Complex(1, 0), new Complex(0, 0)],
  7494. [new Complex(1, 1), new Complex(2, -3)],
  7495. ]
  7496. ],
  7497. [
  7498. [
  7499. [new Complex(1, 0), new Complex(0, 0), new Complex(1, 1)],
  7500. [new Complex(0, 0), new Complex(1, 0), new Complex(1, 1)],
  7501. [new Complex(0, 0), new Complex(1, 0), new Complex(1, 1)],
  7502. ]
  7503. ],
  7504. ];
  7505. }
  7506. public function dataProviderForComplexSquareObjectMatrix(): array
  7507. {
  7508. return [
  7509. [
  7510. [
  7511. [new Complex(1, 1)]
  7512. ],
  7513. ],
  7514. [
  7515. [
  7516. [new Complex(1, 0), new Complex(0, 0)],
  7517. [new Complex(1, 1), new Complex(2, -3)],
  7518. ]
  7519. ],
  7520. [
  7521. [
  7522. [new Complex(1, 0), new Complex(0, 0), new Complex(1, 1)],
  7523. [new Complex(0, 0), new Complex(1, 0), new Complex(1, 1)],
  7524. [new Complex(0, 0), new Complex(1, 0), new Complex(1, 1)],
  7525. ]
  7526. ],
  7527. [
  7528. [
  7529. [new Complex(1, 0), new Complex(0, 0), new Complex(1, 1), new Complex(-3, 2)],
  7530. [new Complex(0, 3), new Complex(1, 0), new Complex(4, 5), new Complex(7, -2)],
  7531. [new Complex(3, 0), new Complex(1, 0), new Complex(1, -6), new Complex(4, -8)],
  7532. [new Complex(5, -1), new Complex(4, 4), new Complex(2, 1), new Complex(-3, 2)],
  7533. ]
  7534. ],
  7535. ];
  7536. }
  7537. }