+
    LV-ju ã                   ó8-  € ^ RI Ht ^ RIt^ RIHtHtHtHtHtH	t	 ^ RI
t
^ RI
Ht ^ RIt^ RIHtHtHtHtHtHtHtHt ^ RIHtHtHtHtHtHtHtH t H!t!H"t"H#t#H$t$ ^ RI%H&t& ^ RI'H(t( ^ R	I)H*t*H+t+ ^ RI,H-t.  ^ R
IH/t0 ^ RI'H2t2 ^ RI3H4t4 ^ RI5H6t6 R;t7t8]6R,          R,          R,          t7]6R,          R,          R,          t8]Pr                  ]Pt                  .t;]Px                  ]Pz                  .t>];]>,           t?R t@R tAR tB ! R R4      tC ! R R4      tD ! R R4      tE]
PŒ                  P�                  R]?4      ]
PŒ                  P�                  R. R¸O4      R 4       4       tH ! R R4      tI ! R  R!4      tJ ! R" R#4      tK ! R$ R%4      tL]
PŒ                  P�                  R]?4      ]
PŒ                  P�                  R&. R¹O4      ]
PŒ                  P�                  R'R(R).4      ]
PŒ                  P�                  R*R+R(.4      ]
PŒ                  P�                  R,^^
.4      R- 4       4       4       4       4       tMR. tNR/ tOR0 tPR1 tQ ! R2 R34      tR ! R4 R54      tSR6 tTR7 tUR8 tVR9 tWR: tXR; tYR< tZR= t[R> t\R? t]R@ t^RA t_RB t`RC ta ! RD RE4      tbRF tcRG tdRH teRI tf]
PŒ                  PÏ                  RJRKRL7      RM 4       thRN ti]
PŒ                  P�                  RORºR».4      ]
PŒ                  P�                  R];4      ]
PŒ                  P�                  RP]j! ^4      4      ]
PŒ                  P�                  RQ]j! ^4      4      ]
PŒ                  P�                  RR]j! ^4      4      ]
PŒ                  P�                  RS^ ^.4      ]
PŒ                  P�                  RT^ ^.4      R¼RU l4       4       4       4       4       4       4       tk]
PŒ                  P�                  R];4      RV 4       tl]
PŒ                  P�                  RWRP^	/RQ^	/RR^	/RS^	/RX^	/RT^	/34      RY 4       tm]
PŒ                  P�                  RZ]PÜ                  ! . R½O. R¾O. R¿O. RÀO. RÁO. RÂO.4      ]PÜ                  ! . RÃO4      ]PÜ                  ! . RÄO. RÅO. RÆO. RÇO. RÈO. RÉO.4      ]PÜ                  ! . RÊO. RËO. RÌO. RÍO.4      3.4      R[ 4       to]
PŒ                  P�                  R]?4      R\ 4       tp]
PŒ                  P�                  R]]PÜ                  ! . RÎO4      ]PÜ                  ! . RÏO4      ]PÜ                  ! . RÐO4      ]PÜ                  ! . RÒO4      ]PÜ                  ! . RÓO4      ]PÜ                  ! . RÕO4      ]PÜ                  ! . RÖO4      ]PÜ                  ! R^R_.R×R`.RaRØ.RbRÙ.R^Rc..4      ]PÜ                  ! RÚ^.^RÚ.^RÛ.RÚRÜ.RÛ^..4      3	]PÜ                  ! . RáO4      ]PÜ                  ! . RâO4      ]PÜ                  ! . RåO4      ]PÜ                  ! . RæO4      ]PÜ                  ! . RçO4      ]PÜ                  ! . RèO4      ]PÜ                  ! . RÖO4      ]PÜ                  ! RéRê.RëRì.RíRî.RïRð.RñRò..4      ]PÜ                  ! RäRÝ.RóRô.RõRß.RöRÞ.RàR÷..4      3	.4      Rd 4       tq]
PŒ                  P�                  R]?4      ]
PŒ                  P�                  R&. RøO4      ]
PŒ                  P�                  R,^^
.4      Re 4       4       4       tr]
PŒ                  P�                  R]?4      ]
PŒ                  P�                  R. RùO4      Rf 4       4       ts]
PŒ                  P�                  Rg]t! ];];,           ]?4      4      Rh 4       tu]
PŒ                  P�                  Rg]t! ];];,           ]?4      4      Ri 4       tv]
PŒ                  P�                  Rg]t! ];];,           ]?4      4      Rj 4       tw]
PŒ                  P�                  Rk]PÜ                  ! . RúO4      ]PÜ                  ! . RûO4      ]PÜ                  ! . RüO4      ]PÜ                  ! . RýO4      ]PÜ                  ! ^^
.^	^.^^	.^^A.^^..4      ]PÜ                  ! Rl^.^RÔ.^RÛ.RÔ^.^RÑ..4      3]PÜ                  ! . RþO4      ]PÜ                  ! . RÿO4      ]PÜ                  ! . ER O4      ]PÜ                  ! . ERO4      ]PÜ                  ! ERER.ERER.ERER.ERER	..4      ]PÜ                  ! RÞER
.RäRä.RãRã.RàRÞ..4      3.4      Rm 4       txRn ty]
PŒ                  P�                  Ro]t! ]?];];,           4      4      ]
PŒ                  P�                  Rp]j! ^4      4      Rq 4       4       tz]
PŒ                  P�                  Ro]t! ]?];];,           4      4      ]
PŒ                  P�                  Rp]j! ^4      4      Rr 4       4       t{]
PŒ                  P�                  Ro]t! ]?];];,           4      4      ]
PŒ                  P�                  Rp]j! ^4      4      Rs 4       4       t|]
PŒ                  P�                  Ro]t! ]?];];,           4      4      ]
PŒ                  P�                  Rp]j! ^4      4      Rt 4       4       t}]
PŒ                  P�                  Ru^]PÜ                  ! . ERO4      ]PÜ                  ! . ERO4      ]PÜ                  ! . ERO4      ]PÜ                  ! . ERO. ERO. ERO. ERO.4      3.4      Rv 4       t~]
PŒ                  P�                  R]?4      ]
PŒ                  P�                  Rw. ERO4      Rx 4       4       tRy t€]
PŒ                  P�                  Rz. ERO4      ]
PŒ                  P�                  R{R|R}.4      R~ 4       4       t�]
PŒ                  P�                  RzRR€.4      ]
PŒ                  P�                  R{R|R}.4      R� 4       4       t‚]
PŒ                  P�                  R‚]?4      ]
PŒ                  P�                  Rƒ. ERO4      R„ 4       4       tƒ]
PŒ                  P�                  R‚]?4      R… 4       t„]
PŒ                  P�                  R]?4      ]
PŒ                  P�                  R†R‡RJ.4      ]
PŒ                  P�                  RˆR‰R+.4      RŠ 4       4       4       t…]
PŒ                  P�                  R]?4      ]
PŒ                  P�                  R†^ ^.4      ]
PŒ                  P�                  RˆR‰R+.4      R‹ 4       4       4       t†]
PŒ                  P�                  R]?^,          4      ]
PŒ                  P�                  R†R‡RJ.4      ]
PŒ                  P�                  RˆR‰R+.4      RŒ 4       4       4       t‡]
PŒ                  P�                  R�]PÜ                  ! . RÎO4      ]PÜ                  ! . RÏO4      ]PÜ                  ! . RÐO4      ]PÜ                  ! R^R_.R×R`.RaRØ.RbRÙ.R^Rc..4      ]PÜ                  ! RÚ^.^RÚ.^RÛ.RÚRÜ.RÛ^..4      3]PÜ                  ! . RáO4      ]PÜ                  ! . RâO4      ]PÜ                  ! . RåO4      ]PÜ                  ! RéRê.RëRì.RíRî.RïRð.RñRò..4      ]PÜ                  ! RäRÝ.RóRô.RõRß.RöRÞ.RàR÷..4      3.4      RŽ 4       tˆ]
PŒ                  P�                  Ro]t! ]?];];,           4      4      ]
PŒ                  P�                  R�R‰R� 3R+R‘ 3.4      R’ 4       4       t‰]
PŒ                  P�                  Ro]t! ]?];];,           4      4      ]
PŒ                  P�                  R�R‰R“ 3R+R” 3.4      R• 4       4       tŠ]
PŒ                  P�                  Ro]t! ]?];];,           4      4      ]
PŒ                  P�                  R�R‰R– 3R+R— 3.4      R˜ 4       4       t‹]
PŒ                  P�                  R™]PÜ                  ! . RúO4      ]PÜ                  ! . RûO4      ]PÜ                  ! ^^
.^	^.^^	.^^A.^^..4      ]PÜ                  ! Rl^.^RÔ.^RÛ.RÔ^.^RÑ..4      3]PÜ                  ! . RþO4      ]PÜ                  ! . RÿO4      ]PÜ                  ! ERER.ERER.ERER.ERER	..4      ]PÜ                  ! RÞER
.RäRä.RãRã.RàRÞ..4      3.4      Rš 4       tŒ]
PŒ                  P�                  R›R‡RJ.4      ]
PŒ                  P�                  R]?4      Rœ 4       4       t�]
PŒ                  P�                  R]?4      R� 4       tŽ]
PŒ                  P�                  Rž]PÜ                  ! . ERO. ERO. ERO. ERO.4      ]PÜ                  ! . ERO. ERO. ERO. ERO.4      ^^3]PÜ                  ! . ERO. ERO. ERO. ERO.4      ]PÜ                  ! . ER O. ER!O. ER"O. ER#O.4      ^^3.4      RŸ 4       t�]
PŒ                  P�                  R]?4      R  4       t�]
PŒ                  P�                  R]?4      R¡ 4       t‘]
PŒ                  P�                  R¢]PÜ                  ! . ER$O. ER%O. ER&O. ER'O.4      ]PÜ                  ! . ER(O. ER)O. ER*O. ER+O.4      ]PÜ                  ! . ER,O. ER-O. ER.O. ER/O.4      ]PÜ                  ! . ER0O4      R£R¤3]PÜ                  ! . ER1O. ER2O. ER3O. ER4O.4      ]PÜ                  ! . ER5O. ER6O. ER7O. ER8O.4      ]PÜ                  ! . ER9O. ER:O. ER;O. ER<O.4      ]PÜ                  ! . ER0O4      R¥R¦3.4      R§ 4       t’]
PŒ                  P�                  R]?4      R¨ 4       t“]
PŒ                  P�                  R©]PÜ                  ! . ER=O. ER>O. ER?O. ER@O.4      ]PÜ                  ! . ERAO. ER>O. ER?O. ERBO.4      ]PÜ                  ! . ERCO. ERDO. EREO. ERFO.4      ]PÜ                  ! . ERGO. ERHO. ERIO. ERJO.4      ]PÜ                  ! . ERKO. ERLO. ERIO. ERMO.4      ]PÜ                  ! . ERNO. EROO. ERPO. ERQO.4      ]PÜ                  ! . ERAO. ERRO. ERSO. ERTO.4      ]PÜ                  ! . ERUO. ERVO. ERWO. ERXO.4      3.4      ]
PŒ                  P�                  R];4      Rª 4       4       t”]
PŒ                  P�                  R];4      ]
PŒ                  P�                  R«ERY4      ]
PŒ                  P�                  R¬. ERZO4      R­ 4       4       4       t•]
PŒ                  P�                  R®R|R}.4      ]
PŒ                  P�                  R]?4      ]
PŒ                  P�                  R›ER[4      R¯ 4       4       4       t–]
PŒ                  P�                  R®R|R}.4      ]
PŒ                  P�                  R]?4      ]
PŒ                  P�                  R›ER[4      R° 4       4       4       t—]
PŒ                  P�                  R&]˜! R±4      4      ]
PŒ                  P�                  R². ER\O4      ]
PŒ                  P�                  R*R+R(.4      ]
PŒ                  P�                  R]?4      R³ 4       4       4       4       t™]
PŒ                  P�                  R]?4      ]
PŒ                  P�                  R&. RøO4      R´ 4       4       tš]
PŒ                  P�                  R&]˜! R±4      4      ]
PŒ                  P�                  R]?4      Rµ 4       4       t›]
PŒ                  P�                  R];4      ]
PŒ                  P�                  R¶ER[4      R· 4       4       tœR#   ]1 d    Rt0 ELi ; i(]  é    )ÚreduceN)Úassert_equalÚassert_array_almost_equalÚassert_Úassert_allcloseÚassert_almost_equalÚassert_array_equal)Úraises)ÚeyeÚonesÚzerosÚ
zeros_likeÚtriuÚtrilÚtril_indicesÚtriu_indices)Ú_flapackÚlapackÚinvÚsvdÚcholeskyÚsolveÚldlÚnormÚ
block_diagÚqrÚeighÚqz)Ú
_to_banded)Ú_compute_lwork)Úortho_groupÚunitary_group)Ú_clapack)Úget_lapack_funcs)Úget_blas_funcs)ÚCONFIGzBuild DependenciesÚblasÚnameÚversionc                 óÌ   € V\         9   d<   VP                  ! V !  VP                  ! V !  R ,          ,           P                  V4      # VP                  ! V !  P                  V4      # )ù              ð?)ÚCOMPLEX_DTYPESÚrandÚastype)ÚshapeÚdtypeÚrngs   &&&Úo/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/scipy/linalg/tests/test_lapack.pyÚgenerate_random_dtype_arrayr3   +   sT   € à”ÔØ—’˜%Ñ Ø—(’(˜EÑ" 4Õ'õ(ß)/©°«ð	7à�8Š8�UÑ×"Ñ" 5Ó)Ð)ó    c                 ó|  € \         P                  f   \        P                  ! R4       \	        \         P                  P                  4       4      p 0 Rmp\        4       p\        \         4       F=  pVP                  R4      '       d   K  W19  g   K$  W09  g   K,  VP                  V4       K?  	  V. 8X  g   Q R4       hR# )z%Test that all entries are in the doc.Nzlapack.__doc__ is NoneÚ_z2Name(s) missing from lapack.__doc__ or ignore_list>   ÚnpÚclapackÚflapackÚdivisionÚ	HAS_ILP64Úprint_functionÚabsolute_importÚfind_best_lapack_type)
r   Ú__doc__ÚpytestÚskipÚsetÚsplitÚlistÚdirÚ
startswithÚappend)ÚnamesÚignore_listÚmissingr(   s       r2   Útest_lapack_documentedrK   3   sˆ   € ä‡~�~ÒÜ�ŠÐ,Ô-Ü”—‘×$Ñ$Ó&Ó'€Eò	€Kô ‹f€GÜ”F–ˆØ—‘ ×$Ô$¨Ö)@ØÖ!Ø�N‰N˜4Ö ñ ð �bŒ=ÐNÐNÓNŠ=r4   c                  ó.   € ^ RI Hp  ^ RIHp W8X  g   Q hR# )r   )r;   N)Úscipy.linalg.blasr;   Úscipy.linalg.lapack)Úblas_has_ilp64Úlapack_has_ilp64s     r2   Ú#test_ilp64_blas_lapack_both_or_nonerQ   J   s   € Ý=ÝAØÔ-Ð-Ò-r4   c                   ó8   a € ] tR t^Pt o R tR tR tR tRtV t	R# )ÚTestFlapackSimplec           	     óØ  € . RO. RO. RO.p. RO. R	O. R
O. RO.pR FÊ  p\        \        VR,           R4      pVf   K!  V! V4      w  rVrxp	\        V	'       * \        V	4      4       \	        WQ4       \        Wg3^ \        V^ ,          4      ^,
          34       \	        V\        P                  ! \        V4      4      4       V! V^^R7      w  rVrxp	\        V	'       * \        V	4      4       KÌ  	  R# )é   ÚsdzcÚgebalN)ÚpermuteÚscale)rU   é   é   )é   é   é   )é   é   é	   )rU   r   r   ga2U0*©3?)r\   r   r   gü©ñÒMb`?)r_   rU   r   r   )r   rU   r   r   )	Úgetattrr9   r   Úreprr   r   Úlenr7   r   )
ÚselfÚaÚa1ÚpÚfÚbaÚloÚhiÚpivscaleÚinfos
   &         r2   Ú
test_gebalÚTestFlapackSimple.test_gebalR   sÇ   € Úš	¢9Ð-ˆÚÚÚÚðˆó ˆAÜœ  7¥¨DÓ1ˆAØŠyÙÙ)*¨1«Ñ&ˆB�B $Ü˜”Hœd 4›jÔ)Ü% bÔ,Ü˜"˜ A¤s¨1¨Q­4£y°¥{Ð#3Ô4Ü% h´·²¼¸A»³Ô@á)*¨2°qÀÔ)BÑ&ˆB�B $Ü˜”Hœd 4›jÖ)ó r4   c                ó´   € . RO. RO. RO.pR FF  p\        \        VR,           R4      pVf   K!  V! V4      w  rEp\        V'       * \        V4      4       KH  	  R# )é•   ÚdÚgehrdN©ikÿÿÿiÎÿÿÿifÿÿÿ©i  é´   i"  ©iåÿÿÿi÷ÿÿÿiçÿÿÿ)rb   r9   r   rc   )re   rf   rh   ri   ÚhtÚtaurn   s   &      r2   Ú
test_gehrdÚTestFlapackSimple.test_gehrdg   sU   € ÚÚÚðˆó ˆAÜœ  7¥¨DÓ1ˆAØŠyÙÙ˜a›D‰MˆB�TÜ˜”Hœd 4›jÖ)ó r4   c           	     óä  € \         P                  ! ^^.^ ^..4      p\         P                  ! ^^.^ ^..4      p\         P                  ! ^	^
.^^..4      pRpR EF’  pVP                  V4      VP                  V4      VP                  V4      r‡p\        R	V34      w  p	VP	                  4       '       d   V^ ;;,          R,          uu&   RpV	! WgV4      w  r«p\        \         P                  ! Wj4      \         P                  ! W§4      ,           W¸,          4       V	! WgW„VR7      w  r«p\        \         P                  ! VP                  4       P                  V
4      \         P                  ! W§P                  4       P                  4      ,           W¸,          ^R7       V	! WgVR
R7      w  r«p\        \         P                  ! Wj4      \         P                  ! W§4      ,
          W¸,          ^R7       EK•  	  R# )rU   ÚTÚfdFDr+   ÚC)ÚtranaÚtranb©Údecimal)ÚisgnN)Útrsyléÿÿÿÿ)	r7   Úarrayr.   r$   Úisupperr   ÚdotÚ	conjugater~   )re   rf   ÚbÚcÚtransr0   rg   Úb1Úc1r†   ÚxrY   rn   s   &            r2   Ú
test_trsylÚTestFlapackSimple.test_trsylr   s~  € Ü�HŠH�q˜!�f˜q !˜fÐ%Ó&ˆÜ�HŠH�q˜!�f˜q !˜fÐ%Ó&ˆÜ�HŠH�q˜"�g  B˜xÐ(Ó)ˆØˆô ˆEØŸ™ %›¨!¯(©(°5«/¸1¿8¹8ÀE»?�BˆBÜ% j°2°%Ó8‰FˆEØ�}‰}�ŠØ�1—˜•“Ø�á" 2¨2Ó.‰NˆA�dÜ%¤b§f¢f¨R£m´b·f²f¸Q³mÕ&CØ&+¥jô2ñ # 2¨2À%ÔH‰NˆA�dÜ%Ü—F’F˜2Ÿ<™<›>×+Ñ+¨QÓ/´"·&²&¸¿L¹L»N×<LÑ<LÓ2MÕMØ•J¨õ+ñ # 2¨2°BÔ7‰NˆA�dÜ%¤b§f¢f¨R£m´b·f²f¸Q³mÕ&CØ&+¥j¸!÷=ð =ó# r4   c                ó–  € \         P                  ! . RO. RO. RO.4      pR EF¢  pR EF—  pVP                  V4      pVP                  4       '       d   VR;;,          R,          uu&   \	        RV34      w  pV! W44      pVR9   dm   VR9   d   ^pM^p\         P
                  ! \         P                  ! \         P                  ! \         P                  ! V4      4      4      4      p\        WhV4       KÊ  VR9   d,   \         P                  ! \         P                  ! V4      4      pM�VR9   dB   \         P                  ! \         P                  ! \         P                  ! V4      ^ R7      4      pMGVR	9   dA   \         P                  ! \         P                  ! \         P                  ! V4      ^R7      4      p\        VX4       EKš  	  EK¥  	  R
# )rr   r   ÚMm1OoIiFfEer+   ÚFfEeÚFfÚMmÚ1Oo©ÚaxisÚIiNru   rv   rx   ©r   r   )Úlange)r7   rˆ   r.   r‰   r$   ÚsqrtÚsumÚsquareÚabsr   Úmaxr   )	re   rf   r0   Únorm_strrg   rž   Úvaluer„   Úrefs	   &        r2   Ú
test_langeÚTestFlapackSimple.test_langeŽ   s8  € Ü�HŠHÚÚÚðó ˆô
 ˆEÜ)�Ø—X‘X˜e“_�Ø—=‘=—?’?à�t—H •N“Hä)¨*°r°eÓ<‘�Ù˜hÓ+�à˜vÔ%Ø ”}Ø"#™à"#˜ÜŸ'š'¤"§&¢&¬¯ª´2·6²6¸"³:Ó)>Ó"?Ó@�CÜ'¨°GÖ<à 4Ô'Ü Ÿfšf¤R§V¢V¨B£ZÓ0™Ø! UÔ*Ü Ÿfšf¤R§V¢V¬B¯FªF°2«J¸QÔ%?Ó@™Ø! TÔ)Ü Ÿfšf¤R§V¢V¬B¯FªF°2«J¸QÔ%?Ó@˜ä  ¨×,ô1 *ó r4   © N)
Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__ro   r{   r’   r§   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r2   rS   rS   P   s   ø‡ € ò*ò*	*ò=÷8-ð -r4   rS   c                   ó,   a € ] tR t^°t o R tR tRtV tR# )Ú
TestLapackc                ó6   € \        \        R 4      '       d   R# R# ©Úempty_moduleN)Úhasattrr9   ©re   s   &r2   Útest_flapackÚTestLapack.test_flapack²   ó   € Ü”7˜N×+Ò+áñ ,r4   c                ó6   € \        \        R 4      '       d   R# R# rµ   )r·   r8   r¸   s   &r2   Útest_clapackÚTestLapack.test_clapack·   r»   r4   r©   N)rª   r«   r¬   r­   r¹   r½   r®   r¯   r°   s   @r2   r³   r³   °   s   ø‡ € ò÷
ð r4   r³   c                   ó8   a € ] tR t^½t o R tR tR tR tRtV t	R# )ÚTestLeastSquaresSolversc           	     ó  € \         P                  P                  R 4      p\        \        4       F¥  w  r#^
p^p^pVP                  WE34      P                  V4      pVP                  V4      P                  V4      p\        RVR7      w  rš\        W¤WV4      pV	! WxVR7      w   rÍ\        V^ 8¬  4       V	! WxRV,          VR7      w   rÍ\        V^ 8¬  4       K§  	  \         EF  p\         P                  ! RR.RR.R	R
..VR7      p\         P                  ! . ROVR7      p\        RWx34      w  rïpVP                  w  rE\        VP                  4      ^8X  d   VP                  ^,          pM^p\        WôWV4      pV! WxVR7      w  ppp\        VRR \         P                  ! RR.VR7      ^\         P                  ! V4      P                  ,          R7       V! V4      w  p  p\!        VV4       EK  	  \"         EF  p\         P                  ! RR.RR.RR..VR7      p\         P                  ! . ROVR7      p\        RWx34      w  rïpVP                  w  rE\        VP                  4      ^8X  d   VP                  ^,          pM^p\        WôWV4      pV! WxVR7      w  ppp\        VRR \         P                  ! RR.VR7      ^\         P                  ! V4      P                  ,          R7       V! V4      w  p  p\!        VV4       EK  	  R# )éÒ  ©r0   ©ÚlworkÚTTCC©rŽ   rÅ   ç      ð?ç       @ç      @ç      @ç      @ç       @Nçûÿÿÿÿÿ-@©Úrtol)ÚgelsÚ
gels_lwork©ç      0@g      1@g      4@)rÑ   rÒ   Úgeqrfr‡   ç¥ªªªªª,Àù      ð?      @ù      @      à?ù      @      Àù      @       Àù       @ffffffæ?©rÔ   y      1@       @y      4@      ÀùR úŠ–ò?¤îð\Îjþ¿ùµò£�,Æû?§ÿ² Wø?)r7   ÚrandomÚdefault_rngÚ	enumerateÚDTYPESr.   r$   r    r   ÚREAL_DTYPESrˆ   r/   rd   r   ÚfinfoÚepsr	   r,   )re   r1   Úindr0   ÚmÚnÚnrhsrg   r�   ÚglsÚglslwrÅ   r6   rn   rÑ   rÒ   rÕ   Úlqrr‘   Ú	lqr_truths   &                   r2   Ú	test_gelsÚ!TestLeastSquaresSolvers.test_gels¿   sæ  € Ü�i‰i×#Ñ# DÓ)ˆä#¤FÖ+‰JˆCØˆAØˆAØˆDØ—‘˜Q˜FÓ#×*Ñ*¨5Ó1ˆBØ—‘˜A“×%Ñ% eÓ,ˆBÜ)Ð*@ÈÔN‰JˆCô # 5¨QÓ5ˆEÙ˜R¨5Ô1‰JˆAˆqÜ�D˜A‘IÔÙ˜R¨6°#­;¸eÔD‰JˆAˆqÜ�D˜A‘IÖñ ,÷ !�[ˆEÜ—’˜C ˜:Ø ˜:Ø ˜:ð'à.3ô5ˆBô —’Ò,°EÔ:ˆBÜ&6Ø3°b°Xó'?Ñ#ˆD˜eð —8‘8‰DˆAÜ�2—8‘8‹} Ô!Ø—x‘x •{‘à�ô # :°!Ó:ˆEá ¨eÔ4‰LˆC��DÜ˜A˜c˜r˜F¤B§H¢HÐ.AØ.@ð.Bà38ô%:ð "$¤B§H¢H¨U£O×$7Ñ$7Õ!7õ9ñ "' r£ÑˆI�q˜!˜QÜ˜s I×.ñ/ !÷2 $�^ˆEÜ—’˜H c˜?Ø$ hÐ/Ø$ hÐ/ð1à8=ô?ˆBô —’Ò6¸eÔDˆBÜ&6Ø3°b°Xó'?Ñ#ˆD˜eð —8‘8‰DˆAÜ�2—8‘8‹} Ô!Ø—x‘x •{‘à�ô # :°!Ó:ˆEá ¨eÔ4‰LˆC��DÜ˜A˜c˜r˜FÜŸHšHÐ&JØ&Jð&Là+0ô2à8:¼2¿8º8ÀE»?×;NÑ;NÕ8NõPñ "' r£ÑˆI�q˜!˜QÜ˜s I×.ó/ $r4   c                óÚ  € \          EFc  p\        P                  ! R R.RR.RR..VR7      p\        P                  ! . ROVR7      p\        RW#34      w  rEVP                  w  rg\        VP                  4      ^8X  d   VP                  ^,          pM^pV! WgVR4      w  ršp\        \        P                  ! V	4      4      pT
pV! W#WÍRRR4      w  rïpp\        VRR \        P                  ! RR	.VR7      ^\        P                  ! V4      P                  ,          R
7       \        V\        P                  ! RR.VR7      ^\        P                  ! V4      P                  ,          R
7       EKf  	  \         EFq  p\        P                  ! RR.RR.RR..VR7      p\        P                  ! . ROVR7      p\        RW#34      w  rEVP                  w  rg\        VP                  4      ^8X  d   VP                  ^,          pM^pV! WgVR4      w  p	pr«\        \        P                  ! V	4      4      p\        V4      pT
pV! W#VVVRRR4      w  rïpp\        VRR \        P                  ! RR.VR7      ^\        P                  ! V4      P                  ,          R
7       \        V\        P                  ! RR.VR7      ^\        P                  ! V4      P                  ,          R
7       EKt  	  R# )rÈ   rÉ   rÊ   rË   rÌ   rÍ   rÃ   FNrÎ   rÏ   çYNô))1)@ç*@ƒž.«â?çU‹¯ý.*@çãÊ_ÅY@rÓ   )ÚgelsdÚgelsd_lworkr‡   rÖ   r×   rØ   rÙ   rÚ   rÛ   rÜ   rÝ   rÞ   ©rã   r7   rˆ   r$   r/   rd   ÚintÚrealr   rä   rå   r,   )re   r0   rg   r�   rõ   rö   rç   rè   ré   ÚworkÚiworkrn   rÅ   Ú
iwork_sizer‘   ÚsÚrankÚrworkÚ
rwork_sizes   &                  r2   Ú
test_gelsdÚ"TestLeastSquaresSolvers.test_gelsd  sÅ  € ß �[ˆEÜ—’˜C ˜:Ø ˜:Ø ˜:ð'à.3ô5ˆBô —’Ò,°EÔ:ˆBÜ!1Ð2JØ35°(ó"<ÑˆEð —8‘8‰DˆAÜ�2—8‘8‹} Ô!Ø—x‘x •{‘à�ñ !,¨A°$¸Ó ;ÑˆD˜ÜœŸš ›Ó&ˆEØˆJá$ R¨UØ%'¨°ó 7ÑˆA�$˜ä˜A˜c˜r˜F¤B§H¢HÐ.AØ.@ð.Bà38ô%:ð "$¤B§H¢H¨U£O×$7Ñ$7Õ!7õ9ô ˜AœrŸxšxÐ);Ø):ð)<ØCHô Jà!#¤B§H¢H¨U£O×$7Ñ$7Õ!7÷9ð 9ñ3 !÷: $�^ˆEÜ—’˜H c˜?Ø$ hÐ/Ø$ hÐ/ð1à8=ô?ˆBô —’Ò6¸eÔDˆBÜ!1Ð2JØ35°(ó"<ÑˆEð —8‘8‰DˆAÜ�2—8‘8‹} Ô!Ø—x‘x •{‘à�ñ (3°1¸¸rÓ'BÑ$ˆD�%˜ÜœŸš ›Ó&ˆEÜ˜U›ˆJØˆJá$ R¨U°JÀ
Ø%'¨°ó 7ÑˆA�$˜ä˜A˜c˜r˜FÜŸHšHÐ&JØ&Jð&Là+0ô2à8:¼2¿8º8ÀE»?×;NÑ;NÕ8NõPô ˜AÜŸHšHÐ&8Ð:KÐ%LØ+0ô2Ø8:¼2¿8º8ÀE»?×;NÑ;NÕ8N÷Pð Pó5 $r4   c           	     ó²  € \          EF`  p\        P                  ! R R.RR.RR..VR7      p\        P                  ! . ROVR7      p\        RW#34      w  rEVP                  w  rg\        VP                  4      ^8X  d   VP                  ^,          pM^pV! WgVR4      w  rš\        \        P                  ! V	4      4      pV! W#RVRR4      w  rÍrïrš\        VRR \        P                  ! RR	.VR7      ^\        P                  ! V4      P                  ,          R
7       \        V\        P                  ! RR.VR7      ^\        P                  ! V4      P                  ,          R
7       EKc  	  \         EF`  p\        P                  ! RR.RR.RR..VR7      p\        P                  ! . ROVR7      p\        RW#34      w  rEVP                  w  rg\        VP                  4      ^8X  d   VP                  ^,          pM^pV! WgVR4      w  rš\        \        P                  ! V	4      4      pV! W#RVRR4      w  rÍrïrš\        VRR \        P                  ! RR.VR7      ^\        P                  ! V4      P                  ,          R
7       \        V\        P                  ! RR.VR7      ^\        P                  ! V4      P                  ,          R
7       EKc  	  R# )rÈ   rÉ   rÊ   rË   rÌ   rÍ   rÃ   FNrÎ   rÏ   rñ   rò   ró   rô   rÓ   )ÚgelssÚgelss_lworkr‡   rÖ   r×   rØ   rÙ   rÚ   rÛ   rÜ   rÝ   rÞ   r÷   )re   r0   rg   r�   r  r  rç   rè   ré   rú   rn   rÅ   Úvr‘   rý   rþ   s   &               r2   Ú
test_gelssÚ"TestLeastSquaresSolvers.test_gelss?  s¡  € ç �[ˆEÜ—’˜C ˜:Ø ˜:Ø ˜:ð'à.3ô5ˆBô —’Ò,°EÔ:ˆBÜ!1Ð2JØ35°(ó"<ÑˆEð —8‘8‰DˆAÜ�2—8‘8‹} Ô!Ø—x‘x •{‘à�ñ % Q¨4°Ó4‰JˆDÜœŸš ›Ó&ˆEá(-¨b°b¸%ÀÈÓ(NÑ%ˆA�!˜4Ü˜A˜c˜r˜F¤B§H¢HÐ.AØ.@ð.Bà38ô%:ð "$¤B§H¢H¨U£O×$7Ñ$7Õ!7õ9ô ˜AœrŸxšxÐ);Ø):ð)<ØCHô Jà!#¤B§H¢H¨U£O×$7Ñ$7Õ!7÷9ð 9ñ/ !÷6 $�^ˆEÜ—’˜H c˜?Ø$ hÐ/Ø$ hÐ/ð1à8=ô?ˆBô —’Ò6¸eÔDˆBÜ!1Ð2JØ35°(ó"<ÑˆEð —8‘8‰DˆAÜ�2—8‘8‹} Ô!Ø—x‘x •{‘à�ñ % Q¨4°Ó4‰JˆDÜœŸš ›Ó&ˆEá(-¨b°b¸%ÀÈÓ(NÑ%ˆA�!˜4Ü˜A˜c˜r˜FÜŸHšHÐ&JØ&Jð&Là+0ô2ð "$¤B§H¢H¨U£O×$7Ñ$7Õ!7õ	9ô
 ˜AœrŸxšxÐ);Ø):ð)<ØCHô Jà!#¤B§H¢H¨U£O×$7Ñ$7Õ!7÷9ð 9ó1 $r4   c           
     ó~  € \          EF“  p\        P                  ! R R.RR.RR..VR7      p\        P                  ! . ROVR7      p\        RW#34      w  rEVP                  w  rg\        VP                  4      ^8X  d   VP                  ^,          pM^pV! WgV^
\        P                  ! V4      P                  ,          4      w  rš\        \        P                  ! V	4      4      p\        P                  ! VP                  ^,          ^3\        P                  R7      pV! W#V\        P                  ! V4      P                  VRR4      w  rÞppp
\        VRR \        P                  ! RR	.VR7      ^\        P                  ! V4      P                  ,          R
7       EK–  	  \         EF“  p\        P                  ! RR.RR.RR..VR7      p\        P                  ! . ROVR7      p\        RW#34      w  rEVP                  w  rg\        VP                  4      ^8X  d   VP                  ^,          pM^pV! WgV^
\        P                  ! V4      P                  ,          4      w  rš\        \        P                  ! V	4      4      p\        P                  ! VP                  ^,          ^3\        P                  R7      pV! W#V\        P                  ! V4      P                  VRR4      w  rÞppp
\        VRR \        P                  ! RR.VR7      ^\        P                  ! V4      P                  ,          R
7       EK–  	  R# )rÈ   rÉ   rÊ   rË   rÌ   rÍ   rÃ   FNrÎ   rÏ   rÓ   )Úgelsyr  r‡   rÖ   r×   rØ   rÙ   rÚ   rÛ   rÜ   rÝ   rÞ   )rã   r7   rˆ   r$   r/   rd   rä   rå   rø   rù   r   Úint32r   r,   )re   r0   rg   r�   r
  Úgelsy_lworkrç   rè   ré   rú   rn   rÅ   Újptvr  r‘   Újrþ   s   &                r2   Ú
test_gelsyÚ"TestLeastSquaresSolvers.test_gelsyx  s»  € ç �[ˆEÜ—’˜C ˜:Ø ˜:Ø ˜:ð'à.3ô5ˆBô —’Ò,°EÔ:ˆBÜ!1Ð2JØ35°(ó"<ÑˆEð —8‘8‰DˆAÜ�2—8‘8‹} Ô!Ø—x‘x •{‘à�ñ % Q¨4°´B·H²H¸U³O×4GÑ4GÕ1GÓH‰JˆDÜœŸš ›Ó&ˆEä—8’8˜RŸX™X a�[¨!Ð,´B·H±HÔ=ˆDÙ"'¨°´b·h²h¸u³o×6IÑ6IØ(-¨u°eó#=ÑˆA�!�T˜4ä˜A˜c˜r˜F¤B§H¢HÐ.AØ.@ð.Bà38ô%:ð "$¤B§H¢H¨U£O×$7Ñ$7Õ!7÷9ð 9ñ+ !÷4 $�^ˆEÜ—’˜H c˜?Ø$ hÐ/Ø$ hÐ/ð1à8=ô?ˆBô —’Ò6¸eÔDˆBÜ!1Ð2JØ35°(ó"<ÑˆEð —8‘8‰DˆAÜ�2—8‘8‹} Ô!Ø—x‘x •{‘à�ñ % Q¨4°´B·H²H¸U³O×4GÑ4GÕ1GÓH‰JˆDÜœŸš ›Ó&ˆEä—8’8˜RŸX™X a�[¨!Ð,´B·H±HÔ=ˆDÙ"'¨°´b·h²h¸u³o×6IÑ6IØ(-¨u°eó#=ÑˆA�!�T˜4ä˜A˜c˜r˜FÜŸHšHÐ&JØ&Jð&Là+0ô2ð "$¤B§H¢H¨U£O×$7Ñ$7Õ!7÷	9ð 9ó+ $r4   r©   N)
rª   r«   r¬   r­   rî   r  r  r  r®   r¯   r°   s   @r2   rÀ   rÀ   ½   s#   ø‡ € òB/òH:Pòx79÷r59ð 59r4   rÀ   r0   r/   c                 óV   € \        R V R7      pVw  r4V! W4R7      w  rV\        V^ 4       R# )Úgeqrf_lworkrÃ   ©rç   rè   N©r$   r   )r0   r/   r  rç   rè   rÅ   rn   s   &&     r2   Útest_geqrf_lworkr  °  s-   € ô # M¸%Ô@€KØ�D€AÙ Ô'�K€EÜ��qÖr4   c                   ó&   a € ] tR tRt o R tRtV tR# )ÚTestRegressioni¹  c           	     ó®  € \          FÊ  p\        P                  ! RVR7      p\        R.V.4      w  p\	        \
        W2^R7       V! V4      w  rErgV\        9   d7   \        R.V.4      w  p\	        \
        W„RR V^R7       V! VRR V^R7       K‰  V\        9   g   K–  \        R.V.4      w  p	\	        \
        W”RR V^R7       V	! VRR V^R7       KÌ  	  R# )	é,  rÃ   ÚgerqfrÄ   ÚorgrqNÚungrq)r  rZ   éþÿÿÿ)râ   r7   r   r$   Úassert_raisesÚ	Exceptionrã   r,   )
re   r0   rf   r  Úrqrz   rú   rn   r  r  s
   &         r2   Útest_ticket_1645ÚTestRegression.test_ticket_1645»  sÈ   € çˆEÜ—’˜¨Ô/ˆAä% w i°!°Ó5‰FˆEÜœ) U°QÕ7Ù"'¨£(ÑˆB�TàœÔ#Ü)¨7¨)°a°SÓ9‘�Üœi¨°2°3°¸ÀAÕFÙ�b˜˜�g˜s¨!×,Øœ.Ö(Ü)¨7¨)°a°SÓ9‘�Üœi¨°2°3°¸ÀAÕFÙ�b˜˜�g˜s¨!×,ó r4   r©   N)rª   r«   r¬   r­   r!  r®   r¯   r°   s   @r2   r  r  ¹  s   ø‡ € ÷-ð -r4   r  c                   óª   a € ] tR tRt o ]P
                  P                  RRR.4      ]P
                  P                  RRR.4      R 4       4       tRtV t	R# )	Ú	TestDpotriÎ  ÚlowerTFÚcleanc                óú  € \         P                  P                  ^*4      pVP                  RR7      pVP	                  VP
                  4      p\        RV34      w  rgV! WQVR7      w  r‰V! W�4      ^ ,          p
V'       d@   \        \         P                  ! V
4      \         P                  ! \        V4      4      4       R# \        \         P                  ! V
4      \         P                  ! \        V4      4      4       R# )é*   ©Úsize)r&  N)r[   r[   )ÚpotrfÚpotri)r7   rß   rà   ÚnormalrŠ   r~   r$   r   r   r   r   )re   r%  r&  r1   r‘   rf   ÚdpotrfÚdpotrir�   r6   Údpts   &&&        r2   Útest_gh_2691ÚTestDpotr.test_gh_2691Ð  s¦   € ô �i‰i×#Ñ# BÓ'ˆØ�J‰J˜FˆJÓ#ˆØ�E‰E�!—#‘#‹Jˆä)Ð*<¸q¸eÓD‰ˆá�a eÔ,‰ˆÙ�QÓ˜qÕ!ˆçÜœBŸGšG C›L¬"¯'ª'´#°a³&«/Ö:äœBŸGšG C›L¬"¯'ª'´#°a³&«/Ö:r4   r©   N)
rª   r«   r¬   r­   r@   ÚmarkÚparametrizer1  r®   r¯   r°   s   @r2   r$  r$  Î  sI   ø‡ € à‡[�[×Ñ˜W t¨U mÓ4Ø‡[�[×Ñ˜W t¨U mÓ4ñ;ó 5ó 5ö;r4   r$  c                   ó&   a € ] tR tRt o R tRtV tR# )Ú
TestDlasd4iâ  c                óº  € \         P                  ! . R	O4      p\         P                  ! . R
O4      p\         P                  ! \         P                  ! \         P                  ! V^ R 4      \         P
                  ! ^\        V4      ^,
          34      34      VR\         P                  3,          34      p\        VRRRRR7      p\        V4      p\         P                  ! VRRR1,          V^ ,          V\        V4      ,          ,           .34      p\         P                  ! VRRR1,          R34      p\        RV34      p. p	\        ^ V4       F=  p
V! W¦V4      pV	P                  V^,          4       \        V^,          ^ 8*  RV
 24       K?  	  \         P                  ! V	4      RRR1,          p	\        \         P                  ! \         P                   ! V	4      4      '       * R34       \#        WI^d\         P$                  ! \         P&                  4      P(                  ,          ^d\         P$                  ! \         P&                  4      P(                  ,          R7       R# )rÊ   ºNNNF)Úfull_matricesÚ
compute_uvÚoverwrite_aÚcheck_finiteNÚlasd4z=LAPACK root finding dlasd4 failed to find the singular value zThere are NaN roots©ÚatolrÐ   )rÊ   ç      @rÉ   r   )gö(\�Âõ@gÍÌÌÌÌÌ@g333333Àçš™™™™™Àr‡   ©r   )r7   rˆ   ÚhstackÚvstackÚdiagr   rd   Únewaxisr   Úconcatenater   r$   ÚrangerG   r   ÚanyÚisnanr   rä   Úfloat64rå   )re   ÚsigmasÚm_vecÚMÚSMÚit_lenÚsgmÚmvcr=  ÚrootsÚiÚress   &           r2   Útest_sing_val_updateÚTestDlasd4.test_sing_val_updateã  sÂ  € ä—’š/Ó*ˆÜ—’Ò0Ó1ˆä�IŠI”r—y’y¤"§'¢'¨&°°2¨,Ó"7Ü"$§(¢(¨A¬s°5«z¸A­~Ð+>Ó"?ð"Aó Bà˜Q¤§
¡
˜]Õ+ð-ó .ˆô � %°EÀuØ#ô%ˆô �V“ˆÜ�nŠn˜f¡T r T�l¨V°A­Y¸ÄÀUÃÕ9KÕ-KÐ,LÐMÓNˆÜ�nŠn˜e¡D b D�k¨4Ð0Ó1ˆä  ¨6¨)Ó4ˆàˆÜ�q˜&Ö!ˆAÙ˜ Ó$ˆCØ�L‰L˜˜Q�Ô äØ�Q•˜1‘ØOÐPQÈsÐSöñ	 "ô —’˜“¡ " Õ%ˆä”R—V’VœBŸHšH U›OÓ,Ô,Ð.CÐDÔEÜ˜¨¬B¯HªH´R·Z±ZÓ,@×,DÑ,DÕ(DØ ¤§¢¬"¯*©*Ó!5×!9Ñ!9Õ9÷	;r4   r©   N)rª   r«   r¬   r­   rV  r®   r¯   r°   s   @r2   r6  r6  â  s   ø‡ € ÷;ð ;r4   r6  c            
       ó<  a€ ] tR tRt o]P
                  P                  R]4      R 4       t]P
                  P                  R] U Uu. uF#  p R F  pVR8X  d   V \        9   d   K  W3NK  	  K%  	  upp 4      ]P
                  P                  RRR	.4      ]P
                  P                  R
RR.4      R 4       4       4       t
]P
                  P                  R. RO. RO. RO.4      R 4       tR t]P
                  P                  RRR.4      R 4       tRtVtR# u upp i )Ú	TestTbtrsi  r0   c                óX  € V\         9   dh   \        P                  ! . RO. RO.VR7      p\        P                  ! RR.RR.RR.RR..VR7      p\        P                  ! ^^.RR.^^.^R..VR7      pM„V\        9   dk   \        P                  ! . RO. RO. RO.VR7      p\        P                  ! RR.RR.RR .R!R"..VR7      p\        P                  ! RR#.R$R%.R&R'.R(R)..VR7      pM\	        RV R24      h\        RVR7      pV! W#RR7      w  rg\        V^ 4       \        Wd^ R	R
7       R# )*zÝTest real (f07vef) and complex (f07vsf) examples from NAG

Examples available from:
* https://www.nag.com/numeric/fl/nagdoc_latest/html/f07/f07vef.html
* https://www.nag.com/numeric/fl/nagdoc_latest/html/f07/f07vsf.html

rÃ   g333333*@y               @z	Datatype z not understood.ÚtbtrsÚL©ÚabrŒ   Úuploçñhãˆµøä>©rÐ   r?  Nç¤p=
×£À)rb  g…ëQ¸@gHáz®G@g{®GázÄ?)g      Àgq=
×£p@gHáz®GÀr   g¤p=
×£0Àg�Âõ(\�+Àg×£p=
—0ÀgÃõ(\�ÂÀgHáz®G,ÀgìQ¸…ë#Àr‡   éýÿÿÿr  )y
×£p=
ÿ¿¸…ëQ¸@y{®Gáz@®GázÀy…ëQ¸…Û?Ház®GÀy)\�Âõ(Ü?š™™™™™¹?)y…ëQ¸À…ëQ¸…@yq=
×£pý¿®Gáz@y×£p=
×û?{®Gáz¤¿r   )yìQ¸…ëù?q=
×£p@y)\�Âõ(Àáz®Gáþ¿r   r   y¸…ëQ¸!À
×£p=
Ày×£p=
8À®GázÀy¤p=
×#/À)\�Âõh7Ày\�Âõ(üLÀHáz®G @y…ëQ¸…ÀHáz®Ç6@y×£p=
3@Ãõ(\�‚=Ày{®Gáz-À333333ÀyìQ¸…+3@®GázT5@y      ð?      @y      ð?      Ày      À       Àyt&mªîÀâ=–#ôÀy×i¤¥ò6@U¾g$B@y[aú^Cðÿ?b->À¸ð¿y-@ÛjÖiÀ& ÿ”*ù!À)rã   r7   rˆ   r,   Ú
ValueErrorr$   r   r   )re   r0   r^  rŒ   Úx_outr[  r‘   rn   s   &&      r2   Útest_nag_example_f07vef_f07vsfÚ(TestTbtrs.test_nag_example_f07vef_f07vsf  sy  € ð ”KÔÜ—’Ò4Ú2ð4à %ô'ˆBô —’˜6 5˜/Ø! 6Ð*Ø  %˜.Ø! 5˜/ð+ð  %ô	&ˆAô
 —H’H˜q !˜fØ! 2˜hØ  !˜fØ  "˜gð'ð $)ô	*‰Eð
 ”nÔ$Ü—’ÒKÚFÚ:ð<ð !&ô'ˆBô —’˜=¨.Ð9Ø*¨NÐ;Ø)¨>Ð:Ø)¨>Ð:ð<ð  %ô	&ˆAô
 —H’H˜r 6˜lØ% wÐ/Ø4Ð6JÐKØ3Ð5JÐKðMð $)ô	*‰Eô ˜y¨¨Ð/?Ð@ÓAÐAä  '°%Ô8ˆÙ˜2¨Ô-‰ˆÜ�T˜1ÔÜ˜ q¨t×4r4   zdtype,transÚNr€   r_  ÚUr\  rE  c           	     óä  € \         P                  P                  R 4      p^^^r‡p\        RVR7      p	VR8H  p
WŠ,          pW‹,
          p\	        W¼) ^,
          R4      pV Uu. uF  qæ\        V4      ,
          NK  	  ppV Uu. uF  p\        V3W4      NK  	  ppVR8X  d   \         P                  ! WaR7      VV&   \        P                  ! VVRR7      p\         P                  ! V^,           V3V4      p\        V4       F9  w  ppVP                  V4      VV\        V^ 4      \        VV,           V4      13&   K;  	  \        Wg3W4      pV	! VVW2VR7      w  pp\        V^ 4       VR8X  d   \!        VV,          VRR	7       R# VR
8X  d"   \!        VP"                  V,          VRR	7       R# VR8X  d0   \!        VP"                  P%                  4       V,          VRR	7       R# \'        R4      hu upi u upi )i¼  r[  rÃ   ri  Údia)Úformat)r^  rŒ   r_  rŽ   rE  rh  g-Cëâ6
?rÏ   r~   r€   zInvalid trans argumentNr‡   )r7   rß   ÚRandomStater$   rH  r¢   r3   r   ÚspsÚdiagsr   rá   Údiagonalr£   Úminr   r   r~   r‹   rd  )re   r0   rŽ   r_  rE  r1   rè   ré   Úkdr[  Úis_upperÚkuÚklÚband_offsetsr‘   Úband_widthsÚwidthÚbandsrf   r^  ÚrowÚkrŒ   rn   s   &&&&&                   r2   Útest_random_matricesÚTestTbtrs.test_random_matrices4  sÁ  € ô �i‰i×#Ñ# DÓ)ˆð
 ˜˜A�ˆÜ  °Ô6ˆà˜C‘KˆØ�]ˆØ�Wˆô ˜R  q¥¨"Ó-ˆÙ+7Ó8©< aœ3˜q›6—z�z©<ˆÐ8á)ó+Ù)�Uô -¨e¨X°uÖBÙ)ð 	ð +ð �3Œ;ÜŸš Ô/ˆE�"‰Iô �IŠI�e˜\°%Ô8ˆô �XŠX�r˜A•v˜q�k 5Ó)ˆÜ Ö-‰FˆC�Ø-.¯Z©Z¸«]ˆBˆs”C˜˜1“Iœc ! A¥# q›kÐ)Ð)Ó*ñ .ô (¨¨	°5Ó>ˆá˜2 ¨ÀÔF‰ˆˆ4Ü�T˜1Ôà�CŒ<Ü˜A �E 1¨4×0Ø�cŒ\Ü˜AŸC™C !�G Q¨T×2Ø�cŒ\Ü˜AŸC™CŸM™M›O¨aÕ/°¸×>äÐ5Ó6Ð6ùò9 9ùò+s   ÁG(Á?G-zuplo,trans,diagc           	     óâ   € \        R\        P                  R7      p\        P                  P	                  R4      pVP                  R4      pVP                  R4      p\        \        WFWqW#4       R# )z?Test if invalid values of uplo, trans and diag raise exceptionsr[  rÃ   rÂ   N)r\   rZ   )rZ   r\   )r$   r7   rK  rß   rà   r  r  )re   r_  rŽ   rE  r[  r1   r^  rŒ   s   &&&&    r2   Ú&test_invalid_argument_raises_exceptionÚ0TestTbtrs.test_invalid_argument_raises_exceptionh  sR   € ô ! ´·
±
Ô;ˆÜ�i‰i×#Ñ# DÓ)ˆØ�Z‰Z˜ÓˆØ�J‰J�vÓˆÜ”i ¨A°UÖAr4   c                óÒ   € \         P                  ! R\        R7      p\         P                  ! ^\        R7      p\        R\        R7      p^ VR&   V! WRR7      w  rE\	        V^4       R# )a(  Test if a matrix with a zero diagonal element is singular

If the i-th diagonal of A is zero, ?tbtrs should return `i` in `info`
indicating the provided matrix is singular.

Note that ?tbtrs requires the matrix A to be stored in banded form.
In this form the diagonal corresponds to the last row.rÃ   r[  ri  r]  N©r[   r\   )r‡   r[   )r7   r   Úfloatr$   r   )re   r^  rŒ   r[  r6   rn   s   &     r2   Útest_zero_element_in_diagonalÚ'TestTbtrs.test_zero_element_in_diagonalv  sQ   € ô �WŠW�V¤5Ô)ˆÜ�GŠG�AœUÔ#ˆÜ  ´Ô6ˆàˆˆ5‰	Ù˜2¨Ô-‰ˆÜ�T˜1Ör4   zldab,n,ldb,nrhsc                ó¾   € \         P                  ! W3\        R7      p\         P                  ! W43\        R7      p\        R\        R7      p\	        \
        WuV4       R# )z2Test ?tbtrs fails correctly if shapes are invalid.rÃ   r[  N©r7   r   rƒ  r$   r  r  )re   Úldabrè   Úldbré   r^  rŒ   r[  s   &&&&&   r2   Útest_invalid_matrix_shapesÚ$TestTbtrs.test_invalid_matrix_shapes†  s@   € ô �WŠW�d�Y¤eÔ,ˆÜ�GŠG�S�K¤uÔ-ˆÜ  ´Ô6ˆÜ”i ¨AÖ.r4   r©   N)rh  r~   r€   )ri  rh  ÚInvalid)ri  rŒ  rh  )rŒ  rh  rh  )r]   r]   r   r]   )r]   r]   r[   r]   )rª   r«   r¬   r­   r@   r3  r4  râ   rf  rã   r|  r  r„  rŠ  r®   r¯   )r0   rŽ   r±   s   00@r2   rY  rY    s;  ø‡ € à‡[�[×Ñ˜W fÓ-ñ+5ó .ð+5ðZ ‡[�[×Ñ˜]á+1ôNÙ+1 %»°eØ&+¨s¤l°uÄÑ7Kô -˜u›nÙ?Nñ -Ù+1òNóOð ‡[�[×Ñ˜V c¨3 ZÓ0Ø‡[�[×Ñ˜V c¨3 ZÓ0ñ,7ó 1ó 1ó	Oð,7ð\ ‡[�[×ÑÐ.Ú3Ú3Ú3ð5ó6ñBó	6ðBòð  ‡[�[×ÑÐ.Ø*Ø*ð1ó ñ/ó	ö/ùókNs   ÁDÁ%DrY  r   r_  ri  r\  rE  rh  rè   c           	      óâ  € \        V  V V V V 2P                  4       4      p\        P                  P	                  V4      pVP                  WD3R 7      VP                  WD3R 7      R,          ,           pVP                  \        P                  ! ^ VP                  ^ ^
4      V4      4      pWx,          p\        P                  ! V \        P                  4      '       d   VP                  MTpVR8X  d   \        P                  ! V4      M\        P                  ! V4      pVR8X  d5   V\        P                  ! V4      R\        P                  3,          ,          pVP                  V 4      p\!        RV34      p	V	! WqW#R7      w  r«VR8X  dŒ   \        P"                  P%                  V\        P&                  R7      p\        P"                  P%                  \        P"                  P)                  V4      \        P&                  R7      p^WÍ,          ,          pMI\        P"                  P%                  V^R7      p\!        RV34      w  ppV! V4      w  pppV! VWñR7      w  rë^p\+        W®VR	7       R
# )r)  r+   ri  r8  Útrcon)r   r_  rE  ÚI©Úord©r   rÏ   N©ÚgeconÚgetrf)rD   Úencoder7   rß   rà   ÚpermutedÚlogspaceÚintegersÚ
issubdtypeÚfloatingrù   r   r   rE  rF  r.   r$   Úlinalgr   Úinfr   r   )r0   r   r_  rE  rè   Úseedr1   ÚAÚoffsetrŽ  rU  r6   Únorm_AÚ
norm_inv_Ar¦   Úanormr”  r•  ÚluÚipvtrn   rÐ   s   &&&&&                 r2   Ú
test_trconr¦  “  sÍ  € ô �5�'˜$˜ ˜v d V¨A¨3Ð/×6Ñ6Ó8Ó9€DÜ
�)‰)×
Ñ
 Ó
%€Cà�
‰
˜˜ˆ
Ó #§*¡*°1°& *Ó"9¸"Õ"<Õ<€Aà�\‰\œ"Ÿ+š+ a¨¯©°a¸Ó)<¸aÓ@ÓA€FØ…K€AÜ—-’- ¤r§{¡{×3Ò3ˆ�Š¸€AØ˜c”kŒ�Š�Œ
¤r§w¢w¨q£z€AØˆs„{Ø	ŒR�WŠW�Q‹Z˜œ2Ÿ:™:˜Õ&Õ&ˆØ	�‰�‹€Aä˜W q dÓ+€EÙ�1 dÔ6�F€Càˆs„{Ü—‘—‘ ¤r§v¡v�Ó.ˆÜ—Y‘Y—^‘^¤B§I¡I§M¡M°!Ó$4¼"¿&¹&�^ÓAˆ
Ø�6Õ&Õ'‰ä—	‘	—‘˜q a�Ó(ˆÜ'Ð(:¸Q¸DÓA‰ˆˆuÙ˜q›‰ˆˆD�$Ù�r˜5Ô,‰ˆð
 €DÜ�C 4×(r4   c                  óî  € R  Fî  p \        RV R7      p\        P                  ! ^V 4      p\        P                  ! ^V 4      p\        P                  ! V4      '       d
   VR,          pV! W#4      w  rEp\	        VR4       \	        VR4       \        P                  ! V4      '       dA   \	        VR4       \        \        V\        4      4       \        \        V\        4      4       Kâ  \	        VR4       Kð  	  R# )	r   ÚlartgrÃ   r+   rË   Nç333333ã?y       €š™™™™™é¿çš™™™™™é?)	r$   r7   rˆ   Úiscomplexobjr   r   Ú
isinstanceÚcomplexrƒ  )r0   r¨  ri   ÚgÚcsÚsnÚrs          r2   Ú
test_lartgr²  »  s²   € ÛˆÜ  °Ô6ˆä�HŠH�Q˜ÓˆÜ�HŠH�Q˜Óˆä�?Š?˜1×ÒØ��GˆAá˜!“K‰	ˆ�ä˜˜GÔ$Ü˜˜3Ôä�?Š?˜1×ÒÜ˜B 	Ô*Ü”J˜q¤'Ó*Ô+Ü”J˜r¤5Ó)Ö*ä˜B Ö(ó' r4   c                  ó–  € R  EFÁ  p RpRp\         P                  ! ^^V 4      p\         P                  ! ^^V 4      p^
\         P                  ! V 4      P                  ^,
          ) ,          pV R9   d   \	        RV R7      p^pM!\        RV R7      pVR,          pVR,          pRp\        V! W4W4      . RO. RO.VR7       \        V! W4W^R	7      . RO^ ^ Ww..VR7       \        V! W4W^^R
7      . ROWw^ ^ ..VR7       \        V! W4W^^^R7      . ROWw^ ^ ..VR7       \        V! W4W^^^R7      . RO^ V^ V..VR7       \        V! W4W^^^^^R7	      . ROWw^ V..VR7       \        V! W4WRR^R7      . RO^ V^ V..VR7       V! W4W^^R7      w  r‰\        WƒJ 4       \        W”J 4       \        V. ROVR7       \        V	. ROVR7       EKÄ  	  R# )r   r©  rª  ÚfdÚrotrÃ   r+   y              @©r?  )rè   )ÚoffxÚoffy)Úincxr¸  rè   )r·  Úincyrè   )r·  r¹  r¸  rº  rè   )r¹  rº  rè   )Úoverwrite_xÚoverwrite_yNy       €      ð¿)r]   r]   r]   r]   )r   r   r   r   )r]   r]   r[   r[   )r[   r[   r]   r]   )r]   r[   r]   r[   )r[   r[   r]   r[   r  )r7   Úfullrä   Ú	precisionr%   r$   r   r   )
r0   r�   rý   Úur  r?  rµ  ri   rf   rŒ   s
             r2   Útest_rotrÀ  Ò  sì  € ô ˆØˆØˆä�GŠG�A�q˜%Ó ˆÜ�GŠG�A�q˜%Ó ˆØ”R—X’X˜e“_×.Ñ.¨qÕ0Ð1Õ1ˆà�DŒ=Ü  ¨eÔ4ˆCØ‰Aä" 5°Ô6ˆCØ��HˆAØ��GˆAØˆAä™˜A !›ª,Ú*6ð*8Ø>Bõ	Dä™˜A !¨!Ô,ª|Ø01°1°a¨|ð/=ØCGõ	Iä™˜A !¨Q°QÔ7Ú%¨¨a° |Ð4¸4õ	Aä™˜A !¨Q°Q¸!Ô<Ú%¨¨a° |Ð4¸4õ	Aä™˜A !¨Q°Q¸!Ô<Ú%¨¨1¨a° |Ð4¸4õ	Aä™˜A !¨Q°Q¸QÀQÈ!ÔLÚ%¨¨a° |Ð4¸4õ	Aä™˜A !¨R°b¸AÔ>Ú%¨¨1¨a° |Ð4¸4õ	Añ �1˜¨1¸!Ô<‰ˆÜ��ŒÜ��ŒÜ˜š<¨dÕ3Ü˜š<¨d×3Ð3óI r4   c            
      ó6  € \         P                  P                  R 4      p V P                  R4      pVP                  P	                  V4      pV P                  R4      RV P                  R4      ,          ,           pVP                  P                  4       P	                  V4      pR EFo  p\        RR.VR7      w  rEVR9   d   VP                  4       pMVP                  4       pV! VP                  ^ ,          ^,
          VR,          VR,          4      w  rxp	\         P                  ! VR,          4      p
VR,          V
^ &   Wz^&   \         P                  ! VR,          4      pRV^ &   W‹R&   V! W¹P                  4       VR,          \         P                  ! VP                  ^,          4      4      VR&   V! W¹VR,          \         P                  ! VP                  ^ ,          4      R	R
7      VR&   \        VR,          V
RR7       \        VR,          V
RR7       EKr  	  R# )rÂ   r+   r   ÚlarfgÚlarfrÃ   ÚFDºrU   NNrÈ   ÚR©Úsider`  r¶  N)r\   r\   ©rU   r   ):rZ   NNr   )r8  r   r�   )rÅ  r   ©rÅ  r8  )r8  rÅ  )r   r8  )r7   rß   rà   r~   rŠ   Úconjr$   Úcopyr/   r   r‹   r   r   )r1   Úa0Úa0jr0   rÂ  rÃ  rf   Úalphar‘   rz   Úexpectedr  s               r2   Útest_larfg_larfrÑ  ü  s�  € Ü
�)‰)×
Ñ
 Ó
%€CØ	�‰�FÓ	€BØ	�‰�‰�"‹€Bà
�*‰*�VÓ
˜r #§*¡*¨VÓ"4Õ4Õ
4€CØ
�%‰%�*‰*‹,×
Ñ
˜3Ó
€Cô
 ˆÜ&¨°Ð'8ÀÔF‰ˆà�DŒ=Ø—‘“
‰Aà—‘“	ˆAñ ˜aŸg™g a�j¨�l¨A¨d­G°Q°uµXÓ>‰ˆ�#ô —=’=  4¥Ó)ˆØ˜•gˆ�‰Ø�‰ô �MŠM˜!˜E�(Ó#ˆØˆˆ!‰Øˆ"‰ñ ˜Ÿ=™=›?¨A¨e­H´b·h²h¸q¿w¹wÀq½zÓ6JÓKˆˆ%‰ñ ˜  %¥¬"¯(ª(°1·7±7¸1µ:Ó*>ÀSÔIˆˆ%‰ä˜˜$� °Õ5Ü˜˜$� °×5Ð5ó9 r4   c                  ó„   € \        R \        P                  RR7      p Rp\        WVRRR7      pVR8X  g   VR8X  g   Q hR# R# )	Úgesdd_lworkÚ	preferred©r0   Úilp64iA%  T)r:  r9  i`”Di€”DN)r$   r7   Úfloat32r    )Úsgesdd_lworkrè   rÅ   s      r2   Ú test_sgesdd_lwork_bug_workaroundrÙ  &  sO   € ô $ M¼¿¹Ø*5ô7€Là€AÜ˜<¨AØ&*¸$ô@€Eð  �IÔ ¨)Ô!3Ð3Ð3Ñ!3Ñr4   c                   óæ   a € ] tR tRt o ]P
                  P                  R]4      R 4       t]P
                  P                  R]4      ]P
                  P                  RR4      R 4       4       t	Rt
V tR# )	Ú	TestSytrdiB  r0   c                óp   € \         P                  ! RVR7      p\        RV34      p\        \        W24       R# )r   rÃ   ÚsytrdNr�   ©r7   r   r$   r  rd  )re   r0   rŸ  rÝ  s   &&  r2   Útest_sytrd_with_zero_dim_arrayÚ(TestSytrd.test_sytrd_with_zero_dim_arrayC  s,   € ô �HŠH�V 5Ô)ˆÜ  ¨1¨$Ó/ˆÜ”j %Ö+r4   rè   c                ó  € \         P                  ! W"3VR 7      p\        RV34      w  rE\         P                  ! ^W"^,           ,          ^,          ^,           VR 7      V\         P                  ! V4      &   V! V4      w  rg\        V^ 4       V! V^VR7      w  r‰r«p\        V^ 4       \        Wƒ^\         P                  ! V4      P                  ,          RR7       \        V	\         P                  ! V4      4       \        V
R4       \        VR4       V! W6R7      w  r‰r«p\        V^ 4       \         P                  ! W1R 7      p\         P                  ! VP                  ^ ,          4      pWœWÝ3&   \         P                  ! VP                  ^ ,          ^,
          4      pW¬V^,           V3&   W¬Wî^,           3&   \         P                  ! W"VR 7      p\        V^,
          4       F�  p\         P                  ! W!R 7      pVRV1V^,           3,          VRV% RVV&   \         P                  ! W"VR 7      VV,          \         P                  ! VV4      ,          ,
          p\         P                  ! VV4      pK‘  	  \         P                   ! VR4      pVP"                  V,          VV&   \         P                  ! VP"                  \         P                  ! W?4      4      p\        VV^\         P                  ! V4      P                  ,          RR7       R# )	rÃ   ©r%  rÅ   rÈ   r>  ç        rÄ   N)rÝ  Úsytrd_lworkr‡   )r7   r   r$   ÚarangeÚtriu_indices_fromr   r   rä   rå   rE  r   r/   r   rH  ÚouterrŠ   r   r~   )re   r0   rè   rŸ  rÝ  rä  rÅ   rn   Údatars   Úerz   r~   r{  Úk2ÚQrT  r  ÚHÚi_lowerÚQTAQs   &&&                  r2   Ú
test_sytrdÚTestSytrd.test_sytrdJ  sO  € ô �HŠH�a�V 5Ô)ˆô Ð5¸°tÓ<ñ 	ˆô
 �IŠI�a˜˜a�C� !� A�¨UÔ3ð 	
Œ"×
Ò
˜qÓ
!Ñ"ñ " !“n‰ˆÜ�T˜1Ôñ !& a¨q¸Ô >Ñˆ�˜Ü�T˜1Ôä˜ a¬¯ª°«×(;Ñ(;Õ&;À#ÕFÜ˜œ2Ÿ7š7 1›:Ô&Ü˜˜3ÔÜ˜˜SÔ!ñ !& aÔ 5Ñˆ�˜Ü�T˜1Ôô
 �MŠM˜!Ô)ˆÜ�IŠI�a—g‘g˜a•jÓ!ˆØˆ!ˆ$‰Ü�YŠY�q—w‘w˜q•z !•|Ó$ˆØˆ"ˆQ�$�ˆ(‰Øˆ"��dˆ(‰ô �FŠF�1˜uÔ%ˆÜ�q˜•s–ˆAÜ—’˜Ô(ˆAØ˜˜!˜˜Q˜q�S˜•MˆAˆbˆqˆEØˆAˆa‰DÜ—’�q 5Ô)¨C°­F´R·X²X¸aÀ³^Õ,CÕCˆAÜ—’�q˜!“ŠAñ ô —/’/ ! RÓ(ˆØ—S‘S˜•\ˆˆ'‰
ä�vŠv�a—c‘cœ2Ÿ6š6 !›<Ó(ˆô 	˜˜a a¬¯ª°«×(;Ñ(;Õ&;À#×Fr4   r©   N©rU   r[   )rª   r«   r¬   r­   r@   r3  r4  rã   rß  rï  r®   r¯   r°   s   @r2   rÛ  rÛ  B  sh   ø‡ € Ø‡[�[×Ñ˜W kÓ2ñ,ó 3ð,ð ‡[�[×Ñ˜W kÓ2Ø‡[�[×Ñ˜S &Ó)ñ7Gó *ó 3ö7Gr4   rÛ  c                   óô   a € ] tR tRt o ]P
                  P                  R]4      R 4       t]P
                  P                  R]	! ]
]4      4      ]P
                  P                  RR	4      R 4       4       tRtV tR# )
Ú	TestHetrdi†  Úcomplex_dtypec                óp   € \         P                  ! RVR7      p\        RV34      p\        \        W24       R# )r   rÃ   ÚhetrdNr�   rÞ  )re   rô  rŸ  rö  s   &&  r2   Útest_hetrd_with_zero_dim_arrayÚ(TestHetrd.test_hetrd_with_zero_dim_array‡  s,   € ô �HŠH�V =Ô1ˆÜ  ¨1¨$Ó/ˆÜ”j %Ö+r4   zreal_dtype,complex_dtyperè   c           	     óö  € \         P                  ! W3VR 7      p\        R	V34      w  rV\         P                  ! ^W^,           ,          ^,          ^,           VR 7      R\         P                  ! ^W^,           ,          ^,          ^,           VR 7      ,          ,           V\         P                  ! V4      &   \         P
                  ! V\         P                  ! \         P                  ! V4      4      4       R
 F  pV! WR7      w  r‰\        V	^ 4       K  	  \        Wa4      p
V! V^V
R7      w  r¼rÞp	\        V	^ 4       \        W´^\         P                  ! V4      P                  ,          RR7       \        V\         P                  ! \         P                  ! V4      4      4       \        VR4       \        VR4       V! WJR7      w  r¼rÞp	\        V	^ 4       \         P                  ! WBR 7      p\         P                  ! VP                  ^ ,          \        R 7      pWÏVV3&   \         P                  ! VP                  ^ ,          ^,
          \        R 7      pWßV^,           V3&   WßVV^,           3&   \         P                   ! WVR 7      p\#        V^,
          4       F£  p\         P                  ! WR 7      pVRV1V^,           3,          VRV% RVV&   \         P                   ! WVR 7      VV,          \         P$                  ! V\         P&                  ! V4      4      ,          ,
          p\         P(                  ! VV4      pK¥  	  \         P*                  ! VR4      p\         P&                  ! VP,                  V,          4      VV&   \         P(                  ! \         P&                  ! VP,                  4      \         P(                  ! VV4      4      p\        VV^
\         P                  ! V4      P                  ,          RR7       R# )rÃ   r+   ©r%  râ  rÈ   r>  rã  rÄ   N)rö  Úhetrd_lwork©r   rU   r‡   )r7   r   r$   rå  ræ  Úfill_diagonalrù   rE  r   r    r   rä   rå   r   r/   rø   r   rH  rç  rË  rŠ   r   r~   )re   rè   Ú
real_dtyperô  rŸ  rö  rû  r‘   r6   rn   rÅ   rè  rs   ré  rz   r~   r{  rê  rë  rT  r  rì  rí  ÚQHAQs   &&&&                    r2   Ú
test_hetrdÚTestHetrd.test_hetrdŽ  så  € ô �HŠH�a�V =Ô1ˆäÐ5¸°tÓ<ñ 	ˆô
 �IŠI�a˜˜a�C� !� A�¨ZÔ8Ø”2—9’9˜Q  Q¥3¥¨¥
¨1¥°JÔ?Õ?õ@ð 	
Œ"×
Ò
˜qÓ
!Ñ"ô 	×Ò˜œBŸGšG¤B§G¢G¨A£JÓ/Ô0ó ˆAÙ! !Ô-‰GˆAÜ˜˜qÖ!ñ ô
 ˜{Ó.ˆñ !& a¨q¸Ô >Ñˆ�˜Ü�T˜1Ôä˜ a¬¯ª°Ó(<×(@Ñ(@Õ&@ÀsÕKä˜œ2Ÿ7š7¤2§7¢7¨1£:Ó.Ô/Ü˜˜3ÔÜ˜˜SÔ!ñ !& aÔ 5Ñˆ�˜Ü�T˜1Ôô
 �MŠM˜!Ô.ˆÜ�IŠI�a—g‘g˜a•j¬Ô,ˆØˆ!ˆQˆ$‰Ü�YŠY�q—w‘w˜q•z !•|¬3Ô/ˆØˆ"ˆQ�$�ˆ(‰Øˆ"ˆb��dˆ(‰ô �FŠF�1˜}Ô-ˆÜ�q˜•s–ˆAÜ—’˜Ô0ˆAØ˜˜!˜˜Q˜q�S˜•MˆAˆbˆqˆEØˆAˆa‰DÜ—’�q =Ô1Ø�a•&œ2Ÿ8š8 A¤r§w¢w¨q£zÓ2Õ2õ3ˆAä—’�q˜!“ŠAñ ô —/’/ ! RÓ(ˆÜ—W’W˜QŸS™S �\Ó*ˆˆ'‰
ä�vŠv”b—g’g˜aŸc™c“l¤B§F¢F¨1¨a£LÓ1ˆô 	Ø�!˜"œRŸXšX jÓ1×5Ñ5Õ5¸C÷	r4   r©   Nrñ  )rª   r«   r¬   r­   r@   r3  r4  r,   r÷  Úziprã   r   r®   r¯   r°   s   @r2   ró  ró  †  ss   ø‡ € Ø‡[�[×Ñ˜_¨nÓ=ñ,ó >ð,ð ‡[�[×ÑÐ7Ù  ¨nÓ=ó?à‡[�[×Ñ˜S &Ó)ñAó *ó?öAr4   ró  c            
      óì  € \        \        4       EF_  w  r\        RVR7      w  r#\        V^^^R7      pV ^8  d`   \        P
                  ! . RO. R	O. R
O. RO. RO. RO.VR7      p\        P
                  ! . ROVR7      p\        P
                  ! RR.VR7      pMb\        P
                  ! . RO. RO. RO. RO. RO. RO.4      p\        P
                  ! R.R.R.R.R.R..4      p\        P                  ! ^VR7      p\        P
                  ! . RO. RO.VR7      pV! WXWgVR7      w    ršp	V ^8  d   \        P
                  ! . RO4      pM\        P
                  ! . RO4      p\        W«^R7       EKb  	  R# )ÚgglserÃ   )rç   rè   rh   rã  rÄ   rƒ   N)r  Úgglse_lwork)g=
×£p=â¿g{®Gázô¿gö(\�ÂõØ¿ç      Ð?)çáz®Gáþ¿gHáz®Gñ?g×£p=
×Ó¿ç…ëQ¸À)çffffff@g¸…ëQ¸Î?gš™™™™™Ù?gffffffÖ¿)r  g{®Gázä?ç…ëQ¸å¿g{®Gáz´?)ç333333Ã?g333333Ó?r  g
×£p=
À)g{®Gáz”¿ç{®Gázð?gáz®Gáö¿ç      à?)g      ø¿r  g®Gáz®ó?gHáz®Gá¿gáz®Gáú¿g=
×£p=ê?)y¸…ëQ¸î?ìQ¸…ëé¿y¸…ëQ¸ž¿¸…ëQ¸î?y…ëQ¸í¿{®Gáz @yš™™™™™©¿=
×£p=Ú?)y\�Âõ(\ï¿®Gáz®ÿ?y333333ó¿R¸…ëQÈ?y…ëQ¸å¿áz®GáÚ?yìQ¸…ëé¿ìQ¸…ëá?)y×£p=
×ã?q=
×£pÝ¿y)\�Âõ(ð?{®Gáz”?y)\�Âõ(ä?Ãõ(\�ÂÅ¿yÃõ(\�Âñ¿333333ã?)y®Gáz®×?R¸…ëQØ?yR¸…ëQÈ?Ház®Gá¿y\�Âõ(\ï¿
×£p=
×¿y)\�Âõ(Ì?š™™™™™É¿)y�Âõ(\�ê?R¸…ëQà?yš™™™™™É?{®Gáz„?yÃõ(\�ÂÅ¿q=
×£pÝ¿y…ëQ¸…÷?q=
×£pù?)yHáz®Gñ?ìQ¸…ëÑ¿yš™™™™™É?¸…ëQ¸¾¿yìQ¸…ë±¿®Gáz®ó?y¤p=
×£Ð?¤p=
×£Ð?yR¸…ëQÀ
×£p=
·?yffffffú?®GázÀyáz®Gá À®Gáz®Ày…ëQ¸ý?ffffff
@y¤p=
×£À)\�Âõ(@y�Âõ(\� @…ëQ¸å?)rÈ   rã  ç      ð¿rã  )rã  rÈ   rã  r  )çÐ^"ƒ�Lß?ç¢\}éëï?r  r  )yàÜ!fñ?$_KÀ–dÿ¿y‰^g¿Åµç¿¸F€�Ö@yàÜ!fñ?}²Þ–dÿ¿y61ŸÅµç¿eðæ_�Ö@)rá   râ   r$   r    r7   rˆ   r   r   )ræ   r0   ÚfuncÚ
func_lworkrÅ   rf   r�   rs   rŒ   r6   ÚresultrÐ  s               r2   Ú
test_gglser  Õ  sj  € ä¤×'‰
ˆä+Ð,DØ27ô9Ñˆä˜z¨Q°!°qÔ9ˆà�Œ7Ü—’Ò5Ú5Ú3Ú4Ú3Ú4ð6ð
 >CôDˆAô —’ÒAÈÔOˆAÜ—’˜"˜b˜¨Ô/‰Aô —’ÒMÚNÚKÚKÚKÚKðMó NˆAô —’˜;˜-Ø%˜,Ø&˜-Ø%˜,Ø&˜-Ø%˜,ð(ó )ˆAô —’˜ %Ô(ˆAä�HŠHÒ'Ò):Ð;À5ÔIˆá! !¨°EÔ:Ñˆˆ1ˆa˜Ø�Œ7Ü—x’xò !-ó .‰Hô
 —x’xò !:ó ;ˆHô 	" &¸A×>Ð>óY (r4   c                  ó^  € \         P                  P                  R 4      p \        \        \
        ,           4       EFn  w  r^
pV^8  d?   \        RVR7      p\        R	VR7      w  rVV P                  W334      P                  V4      pM[\        RVR7      p\        R
VR7      w  rVV P                  W334      V P                  W334      R,          ,           P                  V4      pWwP                  4       P                  ,           ^,          ^\         P                  ! W2R7      ,          ,           p\        V^4      p\        WC4      p	V! Wy^R7      w  r«pV! W«V^R7      w  rÜ\        \        ^V,          \         P                  P!                  V^R7      ,
          4      V,          ^8  4       EKq  	  R# )rÂ   Úsytrf_lworkrÃ   Úhetrf_lworkr+   ©rÅ   r%  )rf   Úipivr£  r%  ©rh   N)ÚsyconÚsytrf)ÚheconÚhetrf)r7   rß   rà   rá   râ   r,   r$   r.   rË  r~   r   r   r    r   r¢   rœ  Úcond)r1   ræ   r0   rè   r  ÚfunconÚfunctrfrŸ  r£  rÅ   Úldur  r6   Úrconds                 r2   Útest_sycon_heconr$    sL  € Ü
�)‰)×
Ñ
 Ó
%€CÜ¤¤~Õ 5×6‰
ˆàˆà�Œ7Ü)¨-¸uÔEˆJÜ.Ð/AÈÔO‰OˆFØ—‘˜Q˜FÓ#×+Ñ+¨EÓ2‰Aô *¨-¸uÔEˆJÜ.Ð/AÈÔO‰OˆFØ—‘˜Q˜FÓ# c§j¡j°!°Ó&8¸Õ&;Õ;×CÑCÀEÓJˆAð —‘“—‘�^˜QÕ ¤2§6¢6¨!Ô#9Õ!9Õ9ˆä�Q˜“
ˆÜ˜zÓ-ˆÙ˜q°QÔ7‰ˆ�1Ù˜C°%¸qÔA‰ˆä”�A�e•GœbŸi™iŸn™n¨Q°!˜nÓ4Õ4Ó5°eÕ;¸aÑ?×@ó- 7r4   c                  ó¨  € \         P                  P                  R 4      p \        \        4       EF  w  r^
p\        RVR7      w  rErgV P                  W334      P                  V4      pWˆP                  ,           ^,          pV P                  W334      P                  V4      p	W™P                  ,           ^,          ^\         P                  ! W2R7      ,          ,           p	V! W‰4      w  r«p\        V^ 8H  4       V! V	4      w  rÜ\        V^ 8H  4       V! W�4      w  rì\        V^ 8H  4       V! V4      w  rûp\        V^ 8H  4       \        WúRR7       EK!  	  R# )rÂ   rÃ   giUMu?rÏ   N)r+  ÚsygstÚsyevdÚsygvd)r7   rß   rà   rá   rã   r$   r.   r~   r   r   r   )r1   ræ   r0   rè   r+  r&  r'  r(  rŸ  ÚBÚeig_gvdr6   rn   rŒ   rf   Úeigs                   r2   Ú
test_sygstr,  !  s   € Ü
�)‰)×
Ñ
 Ó
%€CÜ¤×,‰
ˆàˆä%5ð 7Ià<Aô&CÑ"ˆ�eð �J‰J˜�vÓ×%Ñ% eÓ,ˆØ—‘�W�a�Kˆà�J‰J˜�vÓ×%Ñ% eÓ,ˆØ—‘�W�a�K˜!œbŸfšf QÔ4Õ4Õ4ˆñ ! ›;Ñˆ�DÜ�˜‘	Ôñ ˜“(‰ˆÜ�˜‘	ÔÙ˜“+‰ˆÜ�˜‘	Ôá˜Q“x‰ˆ�Ü�˜‘	ÔÜ˜¨6×2Ð2ó5 -r4   c                  ó”  € \         P                  P                  R 4      p \        \        4       EF”  w  r^
p\        RVR7      w  rErgV P                  W334      P                  V4      RV P                  W334      P                  V4      ,          ,           pWˆP                  4       P                  ,           ^,          pV P                  W334      P                  V4      RV P                  W334      P                  V4      ,          ,           p	W™P                  4       P                  ,           ^,          ^\         P                  ! W2R7      ,          ,           p	V! W‰4      w  r«p\        V^ 8H  4       V! V	4      w  rÜ\        V^ 8H  4       V! W�4      w  rì\        V^ 8H  4       V! V4      w  rûp\        V^ 8H  4       \        WúRR7       EK—  	  R# )rÂ   rÃ   r+   ç-Cëâ6?rÏ   N)r+  ÚhegstÚheevdÚhegvd)r7   rß   rà   rá   r,   r$   r.   rË  r~   r   r   r   )r1   ræ   r0   rè   r+  r/  r0  r1  rŸ  r)  r*  r6   rn   rŒ   rf   r+  s                   r2   Ú
test_hegstr2  @  sn  € Ü
�)‰)×
Ñ
 Ó
%€CÜ¤×/‰
ˆàˆä%5ð 7Ià<Aô&CÑ"ˆ�eð �J‰J˜�vÓ×%Ñ% eÓ,¨r°C·J±JÀ¸vÓ4F×4MÑ4MÈeÓ4TÕ/TÕTˆØ—‘“—‘�^˜QÕˆà�J‰J˜�vÓ×%Ñ% eÓ,¨r°C·J±JÀ¸vÓ4F×4MÑ4MÈeÓ4TÕ/TÕTˆØ—‘“—‘�^˜QÕ ¤R§V¢V¨AÔ%;Õ!;Õ;ˆñ ! ›;Ñˆ�DÜ�˜‘	Ôñ ˜“(‰ˆÜ�˜‘	ÔÙ˜“+‰ˆÜ�˜‘	Ôá˜Q“x‰ˆ�Ü�˜‘	ÔÜ˜¨4×0Ð0ó5 0r4   c                 óè  € \         P                  P                  R4      p ^
^r!\        \        4       EF6  w  r4\        R
VR7      w  rV\        WaV4      pV^8  d+   \        V P                  W4      P                  V4      4      pMF\        V P                  W4      V P                  W4      R,          ,           P                  V4      4      p\        \        WXP                  4       V! W‡R7      w  ršp\        V^ 8H  4       \         P                  ! V	RRV13,          \         P                  ! WV,
          3VR7      34      p\         P                  ! \         P                   ! WR7      V	RVR13,          34      p\         P                   ! W$R7      p\#        V4       Uu. uFQ  qþW¯,          Wß.R3,          P                  P%                  Wß.R3,          P'                  4       4      ,          ,
          NKS  	  pp\)        \         P$                  V4      p\+        VP%                  V4      V,
          \-        W„R7      ^
\         P.                  ! V! R4      P0                  4      ,          RR	7       EK9  	  R# u upi )zª
This test performs an RZ decomposition in which an m x n upper trapezoidal
array M (m <= n) is factorized as M = [R 0] * Z where R is upper triangular
and Z is unitary.
rÂ   rÃ   r+   rÄ   r8  NrÈ   rã  r>  ©ÚtzrzfÚtzrzf_lwork)r7   rß   rm  rá   râ   r$   r    r   r-   r.   r  r  r~   r   rC  r   r   rH  rŠ   rË  r   r   r   Úspacingrù   )r1   rç   rè   ræ   r0   r5  Útzrzf_lwrÅ   rŸ  Úrzrz   rn   rÆ  ÚVÚIdr‘   r¦   ÚZs                     r2   Ú
test_tzrzfr=  _  sÏ  € ô �)‰)×
Ñ
 Ó
%€CØˆr€qÜ¤×'‰
ˆÜ*Ð+CØ16ô8‰ˆä˜x¨AÓ.ˆà�Œ7Ü�S—X‘X˜a“^×*Ñ*¨5Ó1Ó2‰Aä�c—h‘h˜q“n s§x¡x°£~°bÕ'8Õ8×@Ñ@ÀÓGÓHˆAô 	”i ¯©Ô,Ù˜aÔ-‰ˆ�ä�˜‘	Ôô �IŠI�r˜!˜R˜a˜R˜%•y¤"§(¢(¨A°­s¨8¸5Ô"AÐBÓCˆÜ�IŠI”r—v’v˜aÔ-¨r°!°Q±R°%­yÐ9Ó:ˆÜ�VŠV�AÔ#ˆÜDIÈ!ÄHÓMÁH¸q�#•&˜˜3 ˜6�Ÿ™Ÿ™¨¨3°¨6­¯©Ó)9Ó:Õ:×:Ð:ÁHˆÐMÜ”2—6‘6˜3ÓˆÜ˜Ÿ™˜a› 1�¤j°Ô&@Ø¤§
¢
©5°«:¯?©?Ó ;Õ;À"÷	Fð 	Fó- (ùò( Ns   ÆAI/c            
     ó  € \         P                  P                  R4      p \        \        4       EFW  w  r^pV^8”  dZ   \        V P                  W34      V P                  W34      R,          ,           \        V4      ,           4      P                  V4      pRpM;\        V P                  W34      \        V4      ,           4      P                  V4      pRp\        RVR7      w  rgpV! V4      w  ršV P                  V^4      P                  V4      pV! RW›4      p\        T\        V) V4      V^,          ^ 8X  d   ^M^R7       V! RW›VR7      p\        T\        VP                  4       P                  ) V4      V^,          ^ 8X  d   ^M^R7       V! R4      V\         P                  ! V4      \         P                  ! V4      3&   V! RW›VR	R
7      p\        T\        VP                  4       P                  ) V4      V^,          ^ 8X  d   ^M^R7       V P                  ^V4      P                  V4      pV! RW�VR	RR7      p\        T\        V) VP                  4      P                  4       P                  V^,          ^ 8X  d   ^M^R7       EKZ  	  R# )zx
Test for solving a linear system with the coefficient matrix is a
triangular array stored in Full Packed (RFP) format.
rÂ   r+   r€   r~   rÃ   rƒ   ©rŽ   rÈ   ri  )rŽ   rE  rÆ  )rŽ   rE  rÈ  N)ÚtrttfÚtfttrÚtfsmr‡   )r7   rß   rm  rá   râ   r   r-   r   r.   r$   r   r   rË  r~   rå  )r1   ræ   r0   rè   rŸ  rŽ   r@  rA  rB  ÚAfpr6   r)  ÚsolnÚB2s                 r2   Ú	test_tfsmrF  �  s  € ô
 �)‰)×
Ñ
 Ó
%€CÜ¤×'‰
ˆØˆØ�Œ7Ü�S—X‘X˜a“^ c§h¡h¨q£n°RÕ&7Õ7¼#¸a»&Õ@ÓA×HÑHÈÓOˆAØ‰Eä�S—X‘X˜a“^¤c¨!£fÕ,Ó-×4Ñ4°UÓ;ˆAØˆEä-Ð.HØ49ô;Ñˆ�dñ �q“‰ˆØ�H‰H�Q˜‹N×!Ñ! %Ó(ˆÙ�B˜ÓˆÜ! $¬¨q¨b°!«Ø/2°Q­w¸!¬|©!Àõ	Dñ �B˜ eÔ,ˆÜ! $¬¨q¯v©v«x¯z©z¨k¸1Ó(=Ø/2°Q­w¸!¬|©!Àõ	Dñ ).¨b«	ˆŒ"�)Š)�A‹,œŸ	š	 !›Ð
$Ñ%Ù�B˜ e°#Ô6ˆÜ! $¬¨q¯v©v«x¯z©z¨k¸1Ó(=Ø/2°Q­w¸!¬|©!Àõ	Dð �X‰X�a˜‹^×"Ñ" 5Ó)ˆÙ�B˜ u°3¸SÔAˆÜ! $¬¨q¨b°"·$±$«×(<Ñ(<Ó(>×(@Ñ(@Ø/2°Q­w¸!¬|©!À÷	Dð 	Dó? (r4   c                 ó®  € \         P                  P                  R4      p ^
^^r2p\        \        4       EF—  w  rE\        RVR7      w  rg\        WqV4      pV^8  d\   \        V P                  W34      P                  V4      4      p	V P                  W334      P                  V4      p
\        RVR7      w  r¼M–\        V P                  W34      V P                  W34      R,          ,           P                  V4      4      p	V P                  W334      V P                  W334      R,          ,           P                  V4      p
\        RVR7      w  r¼\        WÃV4      pV! W˜R7      w  rïp\         P                  ! \         P                  ! WR7      VRVR13,          34      p\         P                  ! W%R7      p\        V4       Uu. uFU  pVVV,          VV.R3,          P                  P                  VV.R3,          P                  4       4      ,          ,
          NKW  	  pp\        \         P                  V4      pV^8  d   RMRp^
\         P                   ! V! R	4      P"                  4      ,          pV! WïW­R7      w  pp\%        V^ 8H  4       \'        VVP                  V
4      ,
          \)        V
4      VR
R7       V! WïV
VVR7      w  pp\%        V^ 8H  4       \'        VVP                  4       P                  P                  V
4      ,
          \)        V
4      VR
R7       V! WïV
RVR7      w  pp\%        V^ 8H  4       \'        VV
P                  V4      ,
          \)        V
4      VR
R7       V! WïV
RVVR7      w  pp\%        V^ 8H  4       \'        VV
P                  VP                  4       P                  4      ,
          \)        V
4      VR
R7       EKš  	  R# u upi )a  
This test performs a matrix multiplication with an arbitrary m x n matrix C
and a unitary matrix Q without explicitly forming the array. The array data
is encoded in the rectangular part of A which is obtained from ?TZRZF. Q
size is inferred by m, n, side keywords.
rÂ   rÃ   r+   rÄ   r8  Nr~   r€   rÈ   rã  r>  rÇ   rÆ  )rÈ  rÅ   )rÈ  rŽ   rÅ   r4  )ÚormrzÚormrz_lwork)ÚunmrzÚunmrz_lwork)r7   rß   rm  rá   râ   r$   r    r   r.   rC  r   rH  r~   rŠ   rË  r   r7  rù   r   r   r   )r1   ÚqmÚqnÚcnræ   r0   r5  r8  Úlwork_rzrŸ  r€   Úorun_mrzÚorun_mrz_lwÚ	lwork_mrzr9  rz   rn   r:  r;  r‘   r¦   rë  rŽ   ÚtolÚcqs                            r2   Útest_ormrz_unmrzrU  ª  s$  € ô �)‰)×
Ñ
 Ó
%€CØ�R˜ˆB€BÜ¤×'‰
ˆÜ*Ð+CØ16ô8‰ˆä! (°Ó3ˆà�Œ7Ü�S—Z‘Z  Ó)×0Ñ0°Ó7Ó8ˆAØ—
‘
˜B˜8Ó$×+Ñ+¨EÓ2ˆAÜ$4Ð5MØ;@ô%BÑ!ˆH�kô �c—j‘j " Ó*¨S¯Z©Z¸¸Ó-AÀ"Õ-DÕD×LÑLÈUÓSÓTˆAØ—‘˜R˜HÓ%¨¯
©
°B°8Ó(<¸RÕ(?Õ?×GÑGÈÓNˆAÜ$4Ð5MØ;@ô%BÑ!ˆHô # ;°BÓ7ˆ	Ù˜aÔ0‰ˆ�ô �IŠI”r—v’v˜bÔ.°°1°b±c°6µ
Ð;Ó<ˆÜ�VŠV�BÔ$ˆÜDIÈ"ÄIÓNÁI¸qˆr�#�a•&˜˜A˜3 ˜6�Ÿ™Ÿ™¨¨A¨3°¨6­¯©Ó)9Ó:Õ:×:Ð:ÁIˆÐNÜ”2—6‘6˜3Óˆð ˜Q”w‘ CˆØ”—’™E #›JŸO™OÓ,Õ,ˆá˜B QÔ8‰ˆˆDÜ�˜‘	ÔÜ˜˜QŸU™U 1›X�¤z°!£}¸3ÀRÕHá˜B Q¨e¸9ÔE‰ˆˆDÜ�˜‘	ÔÜ˜˜QŸV™V›XŸZ™ZŸ^™^¨AÓ.Õ.´
¸1³ÀCØõ	!ñ ˜B Q¨S¸	ÔB‰ˆˆDÜ�˜‘	ÔÜ˜˜QŸU™U 1›X�¤z°!£}¸3ÀRÕHá˜B Q¨S¸ÀYÔO‰ˆˆDÜ�˜‘	ÔÜ˜˜QŸU™U 1§6¡6£8§:¡:Ó.Õ.´
¸1³ÀCØ÷	!ð 	!ó[ (ùò, Os   ÇAOc            	     ór  € \         P                  P                  R4      p \        \        4       EFƒ  w  r^pV^8”  dA   V P                  W34      V P                  W34      R,          ,           P                  V4      pRpM"V P                  W34      P                  V4      pRp\        RVR7      w  rgV! V4      w  r‰\        V	^ 8H  4       V! VRR7      w  r©\        V	^ 8H  4       V! WERR	7      w  r¹\        V	^ 8H  4       V! WERR	7      w  rÉ\        V	^ 8H  4       \        V^,           V^,          3VR7      p\        V4      R
V^,          R13,          VRR1R
3&   WÓ^,          ^,           R1R
3;;,          \        V4      RV^,          1RV^,          13,          P                  4       P                  ,          uu&   \        V^,           V^,          3VR7      p\        V4      R
RV^,          13,          VR&   VRV^,          1R
3;;,          \        V4      V^,          R1V^,          R13,          P                  4       P                  ,          uu&   \        W�P                  RRR7      4       \        VVP                  4       P                  P                  RRR7      4       \        W®P                  RRR7      4       \        VVP                  4       P                  P                  RRR7      4       V! W84      w  rù\        V	^ 8H  4       V! W:RR7      w  pp	\        V	^ 8H  4       V! W;VRR	7      w  pp	\        V	^ 8H  4       V! W<VRR	7      w  pp	\        V	^ 8H  4       \        V\        V4      4       \        V\        V4      4       \        V\        V4      4       \        V\        V4      4       EK†  	  R# )ún
Test conversion routines between the Rectangular Full Packed (RFP) format
and Standard Triangular Array (TR)
rÂ   r+   r€   r~   rÃ   r\  ©r_  ri  )Útransrr_  r8  NÚF)Úorder)r@  rA  r‡   rÊ  )r7   rß   rm  rá   râ   r-   r.   r$   r   r   r   rË  r~   r   r   Úreshape)r1   ræ   r0   rè   ÚA_fullrY  r@  rA  ÚA_tf_Urn   ÚA_tf_LÚA_tf_U_TÚA_tf_L_TÚA_tf_U_mÚA_tf_L_mÚA_tr_UÚA_tr_LÚA_tr_U_TÚA_tr_L_Ts                      r2   Útest_tfttr_trttfrh  ä  s'  € ô
 �)‰)×
Ñ
 Ó
%€CÜ¤×'‰
ˆØˆØ�Œ7Ø—h‘h˜q“n s§x¡x°£~°bÕ'8Õ8×@Ñ@ÀÓGˆFØ‰Fà—h‘h˜q“n×,Ñ,¨UÓ3ˆFØˆFä'Ð(:À%ÔH‰ˆÙ˜V“}‰ˆÜ�˜‘	ÔÙ˜V¨#Ô.‰ˆÜ�˜‘	ÔÙ˜v¸3Ô?‰ˆÜ�˜‘	ÔÙ˜v¸3Ô?‰ˆÜ�˜‘	Ôô ˜!˜A�#˜q !�t˜¨EÔ2ˆÜ ›<¨¨1¨a­4©5¨Õ1ˆ��"��a�ÑØ�A•�a•‘˜!�×¤ V£¨U¨a°­d¨U°E°Q¸µT°E¨\Õ :× ?Ñ ?Ó A× CÑ CÕCÓä˜!˜A�#˜q !�t˜¨EÔ2ˆÜ˜v›, q¨%¨1¨a­4¨% xÕ0ˆ�‰Ø��!�Q•$�˜�×œd 6›l¨1¨a­4©5°!°Qµ$±%¨<Õ8×=Ñ=Ó?×AÑAÕAÓä! &×*:Ñ*:¸2ÀSÐ*:Ó*IÔJÜ! (Ø"*§-¡-£/×"3Ñ"3×";Ñ";¸BÀcÐ";Ó"Jô	Lô 	" &×*:Ñ*:¸2ÀSÐ*:Ó*IÔJÜ! (Ø"*§-¡-£/×"3Ñ"3×";Ñ";¸BÀcÐ";Ó"Jô	Lñ ˜QÓ'‰ˆÜ�˜‘	ÔÙ˜Q¨SÔ1‰ˆ�Ü�˜‘	ÔÙ˜q°6ÀÔD‰ˆ�$Ü�˜‘	ÔÙ˜q°6ÀÔD‰ˆ�$Ü�˜‘	Ôä! &¬$¨v«,Ô7Ü! (¬D°«LÔ9Ü! &¬$¨v«,Ô7Ü! (¬D°«L×9óc (r4   c                 óØ  € \         P                  P                  R4      p \        \        4       EF¶  w  r^pV^8”  d?   V P                  W34      V P                  W34      R,          ,           P                  V4      pM V P                  W34      P                  V4      p\        RVR7      w  rVV! V4      w  rx\        V^ 8H  4       V! VRR7      w  r˜\        V^ 8H  4       \        V4      p
\        W3^,           ,          ^,          VR7      p\        V4      P                  V
,          VR&   \        V4      p
\        W3^,           ,          ^,          VR7      p\        V4      P                  V
,          VR&   \        W{4       \        Wœ4       V! W74      w  rØ\        V^ 8H  4       V! W9RR7      w  rè\        V^ 8H  4       \        V\        V4      4       \        V\        V4      4       EK¹  	  R# )	rW  rÂ   r+   rÃ   r\  rX  r8  N)ÚtrttpÚtpttr)r7   rß   rm  rá   râ   r-   r.   r$   r   r   r   r   r~   r   r   r   )r1   ræ   r0   rè   r]  rj  rk  ÚA_tp_Urn   ÚA_tp_LÚindsÚA_tp_U_mÚA_tp_L_mrd  re  s                  r2   Útest_tpttr_trttprq    s„  € ô
 �)‰)×
Ñ
 Ó
%€CÜ¤×'‰
ˆØˆØ�Œ7Ø—h‘h˜q“n s§x¡x°£~°bÕ'8Õ8×@Ñ@ÀÓG‰Fà—h‘h˜q“n×,Ñ,¨UÓ3ˆFä'Ð(:À%ÔH‰ˆÙ˜V“}‰ˆÜ�˜‘	ÔÙ˜V¨#Ô.‰ˆÜ�˜‘	Ôô ˜A‹ˆÜ˜˜a�C� !�¨5Ô1ˆÜ˜F“|—~‘~ tÕ,ˆ�‰ä˜A‹ˆÜ˜˜a�C� !�¨5Ô1ˆÜ˜F“|—~‘~ tÕ,ˆ�‰ä! &Ô3Ü! &Ô3ñ ˜QÓ'‰ˆÜ�˜‘	ÔÙ˜Q¨SÔ1‰ˆÜ�˜‘	Ôä! &¬$¨v«,Ô7Ü! &¬$¨v«,×7óA (r4   c                 óª  € \         P                  P                  R4      p \        \        4       EF  w  r^pV^8”  dv   V P                  W34      V P                  W34      R,          ,           P                  V4      pWDP                  4       P                  ,           V\        V4      ,          ,           pMIV P                  W34      P                  V4      pWDP                  ,           V\        V4      ,          ,           p\        RVR7      w  rVpV! V4      w  r‰V! W84      w  r©\        V	^ 8H  4       V! W:4      w  r¼\        V4      p\        W½4       EK"  	  R# )z_
Test Cholesky factorization of a positive definite Rectangular Full
Packed (RFP) format array
rÂ   r+   rÃ   N)Úpftrfr@  rA  )r7   rß   rm  rá   râ   r-   r.   rË  r~   r   r$   r   r   r   )r1   ræ   r0   rè   rŸ  rs  r@  rA  rC  rn   Ú	Achol_rfpÚA_chol_rr6   ÚAchols                 r2   Ú
test_pftrfrw  G  s  € ô
 �)‰)×
Ñ
 Ó
%€CÜ¤×'‰
ˆØˆØ�Œ7Ø—‘˜!“ #§(¡(¨1£.°Õ"3Õ3×;Ñ;¸EÓBˆAØ—F‘F“H—J‘J• ¤3 q£6¥Õ)‰Aà—‘˜!“×'Ñ'¨Ó.ˆAØ—C‘C•˜!œC ›F�(Õ"ˆAä.Ð/JØ5:ô<Ñˆ�eñ ˜!“H‰	ˆÙ ›-‰ˆ	Ü�˜‘	ÔÙ˜AÓ)‰ˆÜ˜“ˆÜ! (×2ó% (r4   c                 óö  € \         P                  P                  R4      p \        \        4       EFE  w  r^pV^8”  dv   V P                  W34      V P                  W34      R,          ,           P                  V4      pWDP                  4       P                  ,           V\        V4      ,          ,           pMIV P                  W34      P                  V4      pWDP                  ,           V\        V4      ,          ,           p\        RVR7      w  rVrxV! V4      w  ršV! W94      w  rºV! W;4      w  rÊ\        V
^ 8H  4       V! W<4      w  rÞ\        V4      p\        T\        V4      V^,          ^ 8X  d   ^M^R7       EKH  	  R# )zs
Test Cholesky factorization of a positive definite Rectangular Full
Packed (RFP) format array to find its inverse
rÂ   r+   rÃ   rƒ   N)Úpftrirs  r@  rA  )r7   rß   rm  rá   râ   r-   r.   rË  r~   r   r$   r   r   r   r   )r1   ræ   r0   rè   rŸ  ry  rs  r@  rA  rC  rn   Ú
A_chol_rfpÚ	A_inv_rfpÚA_inv_rr6   ÚAinvs                   r2   Ú
test_pftrir~  b  s5  € ô
 �)‰)×
Ñ
 Ó
%€CÜ¤×'‰
ˆØˆØ�Œ7Ø—‘˜!“ #§(¡(¨1£.°Õ"3Õ3×;Ñ;¸EÓBˆAØ—F‘F“H—J‘J• ¤3 q£6¥Õ)‰Aà—‘˜!“×'Ñ'¨Ó.ˆAØ—C‘C•˜!œC ›F�(Õ"ˆAä%5ð 7@ð =Bô	&CÑ"ˆ�eñ ˜!“H‰	ˆÙ  ›=Ñˆ
Ù Ó.‰ˆ	Ü�˜‘	ÔÙ˜1Ó(‰
ˆÜ�1‹vˆÜ! '¬4°«:Ø/2°Q­w¸!¬|©!À÷	Dð 	Dó- (r4   c                 ó˜  € \         P                  P                  R4      p \        \        4       EF–  w  r^pV^8”  dv   V P                  W34      V P                  W34      R,          ,           P                  V4      pWDP                  4       P                  ,           V\        V4      ,          ,           pMIV P                  W34      P                  V4      pWDP                  ,           V\        V4      ,          ,           p\        V^3VR7      p\        V^,           ^3VR7      p\        V^,
          ^3VR7      p\        RVR7      w  r‰r«V
! V4      w  rÍV	! W<4      w  ríV! W>V4      w  rý\        V^ 8H  4       \        \        WƒWç4       V! W>V4      w  rý\        V^ 8H  4       \        \!        WE4      TV^,          ^ 8X  d   ^M^R7       EK™  	  R# )zy
Test Cholesky factorization of a positive definite Rectangular Full
Packed (RFP) format array and solve a linear system
rÂ   r+   rÃ   rƒ   N)Úpftrsrs  r@  rA  )r7   rß   rm  rá   râ   r-   r.   rË  r~   r   r   r$   r   r  r  r   r   )r1   ræ   r0   rè   rŸ  r)  ÚBf1ÚBf2r€  rs  r@  rA  rC  rn   rz  rD  s                   r2   Ú
test_pftrsrƒ  ‚  s€  € ô
 �)‰)×
Ñ
 Ó
%€CÜ¤×'‰
ˆØˆØ�Œ7Ø—‘˜!“ #§(¡(¨1£.°Õ"3Õ3×;Ñ;¸EÓBˆAØ—F‘F“H—J‘J• ¤3 q£6¥Õ)‰Aà—‘˜!“×'Ñ'¨Ó.ˆAØ—C‘C•˜!œC ›F�(Õ"ˆAä�!�Q�˜uÔ%ˆÜ�A�a•C˜�8 5Ô)ˆÜ�A�a•C˜�8 5Ô)ˆÜ%5ð 7@ð =Bô	&CÑ"ˆ�eñ ˜!“H‰	ˆÙ  ›=Ñˆ
á˜1¨#Ó.‰
ˆÜ�˜‘	ÔÜ”i ¨:Ô;Ù˜1¨!Ó,‰
ˆÜ�˜‘	ÔÜ!¤%¨£+¨tØ/2°Q­w¸!¬|©!À÷	Dð 	Dó7 (r4   c            
     ó†  € \         P                  P                  R4      p \        \        4       EF�  w  r^pV^8”  dv   V P                  W34      V P                  W34      R,          ,           P                  V4      pWDP                  4       P                  ,           V\        V4      ,          ,           pMIV P                  W34      P                  V4      pWDP                  ,           V\        V4      ,          ,           pV^8  d   RMRp\        RRV R23VR7      w  rgpV! V4      w  ršV P                  V^4      P                  V4      pV! V^RV^V	4      pV! W<4      w  rÚ\        T\        VP                  VP                  4       P                  4      ) ^V,          ,           4      V^,          ^ 8X  d   ^M^R	7       EK�  	  R
# )zL
Test for performing a symmetric rank-k operation for matrix in RFP format.
rÂ   r+   rý   Úhr@  rA  ÚfrkrÃ   rƒ   Nr‡   )r7   rß   rm  rá   râ   r-   r.   rË  r~   r   r$   r   r   rŠ   )r1   ræ   r0   rè   rŸ  Úprefixr@  rA  ÚshfrkrC  r6   r€   ÚAfp_outÚA_outs                 r2   Útest_sfrk_hfrkr‹  §  sh  € ô �)‰)×
Ñ
 Ó
%€CÜ¤×'‰
ˆØˆØ�Œ7Ø—‘˜!“ #§(¡(¨1£.°Õ"3Õ3×;Ñ;¸EÓBˆAØ—F‘F“H—J‘J• ¤3 q£6¥Õ)‰Aà—‘˜!“×'Ñ'¨Ó.ˆAØ—C‘C•˜!œC ›F�(Õ"ˆAà˜Q”w‘ CˆÜ.°¸ÀVÀHÈCÀ.Ð/QØ5:ô<Ñˆ�eñ �q“‰ˆØ�H‰H�Q˜‹N×!Ñ! %Ó(ˆÙ˜˜1˜b ! Q¨Ó,ˆÙ˜Ó$‰ˆÜ! %¬¨q¯u©u°Q·V±V³X·Z±ZÓ/@Ð.@À1ÀQÅ3Õ.FÓ)GØ/2°Q­w¸!¬|©!À÷	Dð 	Dó# (r4   c            	     óø  € \         P                  P                  R4      p \        \        4       EFÆ  w  r^
pV^8”  de   V P                  R^W334      V P                  R^W334      R,          ,           P                  V4      pWDP                  4       P                  ,           pMLV P                  R^W334      P                  V4      pWDP                  ,           V\        V4      ,          ,           p^d\         P                  ! V! R4      P                  4      ,          p\        RVR7      w  rgp\        Wƒ^R7      p	\        V^RR7      w  r«p\        Wƒ^R7      p	V! V^V	R7      w  rÞpV! WÞ^R7      w  ppp\        \!        VR4      \!        W¬R	3,          R4      VR
R7       \        V^ RR7      w  pr¼V! V^ R7      w  rÞpV! WÞ^ R7      w  ppp\        \#        V^4      \#        VVR	3,          ^4      VR
R7       EKÉ  	  R# )zh
Test for going back and forth between the returned format of he/sytrf to
L and D factors/permutations.
rÂ   r+   rÈ   rÃ   rú  F)r%  Ú	hermitianrâ  r8  rã  r>  Niâÿÿÿ)Úsyconvr  r  r‡   )r7   rß   rm  rá   râ   Úrandintr.   rË  r~   r   r7  rù   r$   r    r   r   r   r   )r1   ræ   r0   rè   rŸ  rS  rŽ  ÚtrfÚ	trf_lworkÚlwr\  ÚDÚpermr"  r  rn   rf   ré  ri  s                      r2   Útest_syconvr•  Á  s¹  € ô
 �)‰)×
Ñ
 Ó
%€CÜ¤×'‰
ˆØˆà�Œ7Ø—‘˜S " q fÓ-Ø—‘˜S " q fÓ-¨bÕ0õ1ß28±&¸³-ð ð —F‘F“H—J‘J•‰Aà—‘˜C  a VÓ,×3Ñ3°EÓ:ˆAØ—C‘C•˜!œC ›F�(Õ"ˆAà”"—*’*™U 3›ZŸ_™_Ó-Õ-ˆÜ!1ð 3BØINô"PÑˆ�Yä˜I°Ô2ˆÜ˜ !¨uÔ5‰
ˆˆdÜ˜I°Ô2ˆÙ˜a q°Ô3‰ˆ�4Ù˜C¨QÔ/‰
ˆˆ1ˆdÜœ˜Q ›¤d¨1°1¨W­:°rÓ&:ÀÈ2ÕNô ˜ !¨uÔ5‰
ˆˆ1Ù˜a qœ/‰ˆ�4Ù˜C¨QÔ/‰
ˆˆ1ˆdÜœ˜Q ›
¤D¨¨4°¨7­°QÓ$7¸cÈ×KÐKó5 (r4   c                   ó0   a € ] tR tRt o RtR tR tRtV tR# )ÚTestBlockedQRiä  zX
Tests for the blocked QR factorization, namely through geqrt, gemqrt, tpqrt
and tpmqr.
c                ó  € \         P                  P                  R 4      p\        \        4       EFÔ  w  r#^pV^8”  d?   VP                  WD4      VP                  WD4      R,          ,           P                  V4      pM VP                  WD4      P                  V4      p^d\         P                  ! V! R4      P                  4      ,          p\        RVR7      w  rxV! WE4      w  ršpV^ 8X  g   Q h\         P                  ! V	R4      \         P                  ! WCR7      ,           p\         P                  ! WCR7      WÊ,          VP                  P                  4       ,          ,
          p\         P                  ! V	4      p\        VP                  P                  4       V,          \         P                  ! WCR7      VRR7       \        WÞ,          WVRR7       V^8”  dA   VP                  WD4      VP                  WD4      R,          ,           P                  V4      pRpM"VP                  WD4      P                  V4      pRpR FŸ  pR	V3 F”  pV! WšVVVR
7      w  ppV^ 8X  g   Q hVV8X  d   VP                  P                  4       pMTpVR8X  d   VV,          pM	VV,          p\        VVVRR7       VV3R8X  g   Ks  V! WšV4      w  ppV^ 8X  g   Q h\!        VV4       K–  	  K¡  	  \#        \$        W‰W¯RR7       \#        \$        W‰W¯RR7       EK×  	  R# )rÂ   r+   rÈ   rÃ   rã  r>  r€   r~   r\  rh  ©rÈ  rŽ   rŸ  rÇ  r?  N)ÚgeqrtÚgemqrtr‡   ©r\  rÆ  ©r\  rh  )r7   rß   rm  rá   râ   r-   r.   r7  rù   r$   r   r   r~   rË  r   r   r   r  r  )re   r1   ræ   r0   rè   rŸ  rS  rš  r›  rf   Útrn   r  rë  rÆ  r€   Ú	transposerÈ  rŽ   r�   ÚqÚqCÚ	c_defaults   &                      r2   Útest_geqrt_gemqrtÚTestBlockedQR.test_geqrt_gemqrtê  sd  € Ü�i‰i×#Ñ# DÓ)ˆÜ#¤F×+‰JˆCØˆAà�QŒwØ—X‘X˜a“^ c§h¡h¨q£n°RÕ&7Õ7×?Ñ?ÀÓF‘à—X‘X˜a“^×+Ñ+¨EÓ2�à”b—j’j¡ s£§¡Ó1Õ1ˆCÜ,Ð-@ÈÔN‰MˆEá˜q›‰JˆA�$Ø˜1”9Ð�9ô —’˜˜2“¤§¢¨Ô!7Õ7ˆAä—’�qÔ&¨­°·±·±³Õ);Õ;ˆAÜ—’˜“
ˆAô ˜AŸC™CŸH™H›J¨�N¬B¯FªF°1Ô,BÈØ!#õ%ä˜A�E 1°RÕ8à�QŒwØ—X‘X˜a“^ c§h¡h¨q£n°RÕ&7Õ7×?Ñ?ÀÓF�Ø‘	à—X‘X˜a“^×+Ñ+¨EÓ2�Ø�	ã"�Ø! 9Ó-�EÙ$ Q¨1°4¸uÔE‘G�A�tØ 1œ9Ð$˜9à 	Ô)ØŸC™CŸH™H›J™à˜à˜s”{Ø �U™à �U˜ä# A r°¸"Õ=ð ˜e�}¨
Ö2Ù*0°°q«/™˜	 4Ø# qœyÐ(˜yÜ$ Y°Ö2ó) .ñ #ô0 œ) V°¸3Õ?Üœ) V°¸C×@Ð@óu ,r4   c                óú
  € \         P                  P                  R 4      p\        \        4       EFG  w  r#^pV^8”  d|   VP                  WD4      VP                  WD4      R,          ,           P                  V4      pVP                  WD4      VP                  WD4      R,          ,           P                  V4      pM@VP                  WD4      P                  V4      pVP                  WD4      P                  V4      p^d\         P                  ! V! R4      P                  4      ,          p\        RVR7      w  r‰^ V^,          V3 EF0  p
V! W¤WV4      w  r¼rÞV^ 8X  g   Q h\        \         P                  ! VR4      \         P                  ! VR4      4       \        \         P                  ! WÊV,
          ^,
          4      \         P                  ! WjV,
          ^,
          4      4       \         P                  ! WjV,
          4      \         P                  ! WÊV,
          4      pp\         P                  ! \         P                  ! WCR7      V34      p\         P                  ! ^V,          VR7      VV,          VP                  P!                  4       ,          ,
          p\         P                  ! \         P                  ! V4      \         P"                  ! V4      34      p\%        VP                  P!                  4       V,          \         P                  ! ^V,          VR7      VRR7       \%        VV,          \         P                  ! \         P                  ! V4      V34      VRR7       V^8”  d~   VP                  WD4      VP                  WD4      R,          ,           P                  V4      pVP                  WD4      VP                  WD4      R,          ,           P                  V4      pRpMBVP                  WD4      P                  V4      pVP                  WD4      P                  V4      pRpR EF  pR	V3 EF  pV	! W¬VVVVVR
7      w  pppV^ 8X  g   Q hVV8X  d   VP                  P!                  4       pMTpVR8X  d?   \         P                  ! VV3^ R7      p\         P                  ! VV3^ R7      pVV,          pM=\         P                  ! VV3^R7      p\         P                  ! VV3^R7      pVV,          p\%        VVVRR7       VV3R8X  g   Kß  V	! W¬VVV4      w  pp pV^ 8X  g   Q h\        VV4       \        V V4       EK  	  EK  	  \'        \(        WšWÍVVRR7       \'        \(        WšWÍVVRR7       EK3  	  EKJ  	  R# )rÂ   r+   rÈ   rÃ   rã  r>  r€   r~   r\  rh  r™  rš   rŸ  rÇ  r?  N)ÚtpqrtÚtpmqrtr‡   rœ  r�  )r7   rß   rm  rá   râ   r-   r.   r7  rù   r$   r   r   r   rG  r   r~   rË  r   r   r  r  )!re   r1   ræ   r0   rè   rŸ  r)  rS  r¦  r§  Úlrf   rŒ   rž  rn   ÚB_pentÚb_pentr  rë  rÆ  r€   r“  rŸ  rÈ  rŽ   r�   rs   r   ÚcdÚCDÚqCDr¢  Ú	d_defaults!   &                                r2   Útest_tpqrt_tpmqrtÚTestBlockedQR.test_tpqrt_tpmqrt(  s(  € Ü�i‰i×#Ñ# DÓ)ˆÜ#¤F×+‰JˆCØˆAà�QŒwØ—X‘X˜a“^ c§h¡h¨q£n°RÕ&7Õ7×?Ñ?ÀÓF�Ø—X‘X˜a“^ c§h¡h¨q£n°RÕ&7Õ7×?Ñ?ÀÓF‘à—X‘X˜a“^×+Ñ+¨EÓ2�Ø—X‘X˜a“^×+Ñ+¨EÓ2�à”b—j’j¡ s£§¡Ó1Õ1ˆCÜ,Ð-@ÈÔN‰MˆEð ˜˜a� ”^�Ù % a¨AÓ 1‘��aØ˜q”yÐ �yô œRŸWšW Q¨›^¬R¯WªW°Q¸«^Ô<ô œRŸWšW Q¨A­°­	Ó2´B·G²G¸AÀ1½uÀq½yÓ4IÔJô "$§¢¨°­EÓ!2´B·G²G¸AÀ1½uÓ4E˜�ô —N’N¤B§F¢F¨1Ô$:¸FÐ#CÓD�ä—F’F˜1˜q�5¨Ô.°°Qµ¸¿¹¿¹»Õ1CÕC�Ü—N’N¤B§G¢G¨A£J´·²¸aÓ0@Ð#AÓB�ô   §¡§¡£
¨Q¥´·²°q¸1µuÀEÔ0JØ%(¨rõ3ä  A¥¤r§~¢~´r·w²w¸q³zÀ6Ð6JÓ'KØ%(¨rõ3ð ˜”7ØŸ™ !›¨#¯(©(°1«.¸Õ*;Õ;×CÑCÀEÓJ�AØŸ™ !›¨#¯(©(°1«.¸Õ*;Õ;×CÑCÀEÓJ�AØ #‘IàŸ™ !›×/Ñ/°Ó6�AØŸ™ !›×/Ñ/°Ó6�AØ #�Iä&�DØ"% yÔ!1˜Ù%+¨A°!°Q¸ÀØ27ô&9™
˜˜1˜dà# qœyÐ(˜yà  IÔ-Ø !§¡§¡£
™Aà !˜Aà 3œ;Ü!#§¢°°A°¸QÔ!?˜BÜ!#§¢°°A°¸QÔ!?˜BØ"# b¥&™Cä!#§¢°°A°¸QÔ!?˜BÜ!#§¢°°A°¸QÔ!?˜BØ"$ q¥&˜Cä'¨¨C°cÀÕCà  %˜=¨JÖ6Ù9?ÀÀaÈÈAÓ9NÑ6˜I y°$Ø#'¨1¤9Ð, 9Ü(¨°AÔ6Ü(¨°A×6ô3 "2ñ 'ô: œi¨°A¸!¸QÀSÕIÜœi¨°A¸!¸QÀc×JÐJôA $ó ,r4   r©   N)	rª   r«   r¬   r­   r?   r£  r¯  r®   r¯   r°   s   @r2   r—  r—  ä  s   ø‡ € ñò
<A÷|QKð QKr4   r—  c                  óö  € \         P                  P                  R 4      p \        \        4       EFÅ  w  r^
p^p\        RVR7      pV^8”  d|   V P                  W3V,
          4      P                  V4      RV P                  W3V,
          4      P                  V4      ,          ,           pWfP                  4       P                  ,          pM9V P                  W3V,
          4      P                  V4      pWfP                  ,          pV! V4      w  rxrš\        V4      pRW¹V,
          R1W“,
          R13&   \        V
^4       R\         P                  ! \         P                  4      P                  ,          pR\         P                  ! \         P                  4      P                  ,          pVR
9   d   TMTp\!        Wh^,
          ,          RV^,
          3,          VP                  4       P                  V,          RVR7       V! V^R	7      w  rxrš\#        V4      pRWùV,
          R1W“,
          R13&   \        V
^4       R\         P                  ! \         P                  4      P                  ,          pR\         P                  ! \         P                  4      P                  ,          pVR
9   d   TMTp\!        Wh^,
          ,          RV^,
          3,          WÿP                  4       P                  ,          RVR7       EKÈ  	  R# )rÂ   ÚpstrfrÃ   r+   rã  Néè  r8  ra  rú  ©r   rZ   ©r7   rß   rm  rá   râ   r$   r-   r.   rË  r~   r   r   rä   r×  rå   rK  r   r   )r1   ræ   r0   rè   r±  r²  rŸ  r�   ÚpivÚr_crn   ri  Úsingle_atolÚdouble_atolr?  r\  s                   r2   Ú
test_pstrfrº  |  ó!  € Ü
�)‰)×
Ñ
 Ó
%€CÜ¤×'‰
ˆàˆØˆÜ  °Ô6ˆð �Œ7Ø—‘˜˜a�CÓ ×'Ñ'¨Ó.°°c·h±h¸qÀAÅ#Ó6F×6MÑ6MÈeÓ6TÕ1TÕTˆAØ—F‘F“H—J‘J•‰Aà—‘˜˜a�CÓ ×'Ñ'¨Ó.ˆAØ—C‘C•ˆAá! !›HÑˆ�Ü�‹GˆØ "ˆ��'‰(�C•G‘HÐ
Ñä�T˜1Ôð œRŸXšX¤b§j¡jÓ1×5Ñ5Õ5ˆØœRŸXšX¤b§j¡jÓ1×5Ñ5Õ5ˆØ! Vœm‰{°ˆÜ˜˜a�%�  C¨¥E Õ*¨A¯F©F«H¯J©J¸­NÀÈ$ÕOá! !¨1Ô-Ñˆ�Ü�‹GˆØ "ˆ��'‰(�C•G‘HÐ
Ñä�T˜1ÔàœRŸXšX¤b§j¡jÓ1×5Ñ5Õ5ˆØœRŸXšX¤b§j¡jÓ1×5Ñ5Õ5ˆØ! Vœm‰{°ˆÜ˜˜a�%�  C¨¥E Õ*¨A·±³·
±
­NÀÈ$×OÐOóG (r4   c                  óö  € \         P                  P                  R 4      p \        \        4       EFÅ  w  r^
p^p\        RVR7      pV^8”  d|   V P                  W3V,
          4      P                  V4      RV P                  W3V,
          4      P                  V4      ,          ,           pWfP                  4       P                  ,          pM9V P                  W3V,
          4      P                  V4      pWfP                  ,          pV! V4      w  rxrš\        V4      pRW¹V,
          R1W“,
          R13&   \        V
^4       R\         P                  ! \         P                  4      P                  ,          pR\         P                  ! \         P                  4      P                  ,          pVR
9   d   TMTp\!        Wh^,
          ,          RV^,
          3,          VP                  4       P                  V,          RVR7       V! V^R	7      w  rxrš\#        V4      pRWùV,
          R1W“,
          R13&   \        V
^4       R\         P                  ! \         P                  4      P                  ,          pR\         P                  ! \         P                  4      P                  ,          pVR
9   d   TMTp\!        Wh^,
          ,          RV^,
          3,          WÿP                  4       P                  ,          RVR7       EKÈ  	  R# )rÂ   Úpstf2rÃ   r+   rã  Nr³  r8  ra  rú  r´  rµ  )r1   ræ   r0   rè   r±  r½  rŸ  r�   r¶  r·  rn   ri  r¸  r¹  r?  r\  s                   r2   Ú
test_pstf2r¾  ¤  r»  r4   c                  ó   € \         P                  ! . RO. RO. R	O. R
O.4      p \         P                  ! . RO. RO. RO.4      p\        \        4       EF(  w  r#V^8  d5   \         P                  ! . RO. RO. RO. RO.4      pVP	                  V4      pM_\         P                  ! . RO. RO. RO.VR7      pV\         P                  ! . RO. RO. RO.4      R,          ,          pVP	                  V4      p\        RVR7      pV! V4      w  rgr‰r«V^8  d6   \        V P	                  V4      VR,          V,          V,          ^ RR7       Kõ  \        VP	                  V4      VR,          V,          V,          ^ RR7       EK+  	  R# )ç      ä?r+   rÃ   ÚgeequNr.  ra  )rÀ  rÈ   g�1w-!¤?gÃdª`TRÛ¿)rÈ   g³êsµûá¿r  r  )gësµûËâ?r  g2æ®%äƒ®¿g,eâXá¿)r  g‚sF”öã¿g%ušž¿g?ÆÜï?)y/n£¼Ò¿¥½Á&á?yDioð…É´?×òAÏfí?y Òo_Îç¿À[ AñcÐ¿)yësµûËÖ¿òAÏfÕçÒ¿y±Pkšwœî?ñôJY†8¦¿y¨5Í;NÑ‘¿�•C‹lçÃ?)y´Yõ¹ÚŠë?1™*•ÔÁ?yÙ=yX¨Ñ¿@aÃÓ+ç?yÜh o�Å¿F¶óýÔxÁ¿)g   ÐˆÃBg   €tÒBgffffff @g   ÈÙ“ Â)ç      @gš™™™™™ÀgÑ®#®fD¾gffffffÀ)gHáz®Gù?g…ëQ¸…Àg'Vä»íó½g¤p=
×£ð¿)gÃõ(\�Âñ¿r
  gÈSƒÁ7Ð½rª  )gq=
×£põ¿g   €“ÜäAg�Âõ(\�À)g333333û¿g   ¬§ÓBg333333Ã¿)gZ9œ‚·�ð=gìQ¸…ëá¿gŽ‹‡›ÐÖ½)gffffff@g   tÞ…BrA  )g�Âõ(\�ö¿g   ÀZÖÁgq=
×£põ?)gEõoÃpÅ=g…ëQ¸…÷?gZ€Eq÷Ò½)r8  N)r7   rˆ   rá   râ   r.   r$   r   )Údesired_realÚdesired_cplxræ   r0   rŸ  rÁ  r±  r�   ÚrowcndÚcolcndÚamaxrn   s               r2   Ú
test_geequrÈ  Ì  si  € Ü—8’8Ò>Ú@Ú@Ú@ðBó C€Lô
 —8’8ò 1ò1ò1ð2ó 3€Lô  ¤×'‰
ˆØ�Œ7ä—’ÒCÚEÚEÚEðGó HˆAð —‘˜“‰Aä—’Ò:Ú:Ú:ð<àCHôJˆAð ”—’Ò:Ú;Ú:ð<ó =à=?õ@õ @ˆAð —‘˜“ˆAä  °Ô6ˆÙ+0°«8Ñ(ˆˆf˜dà�Œ7Ü˜L×/Ñ/°Ó6¸¸'½
À1½ÀQ½Ø!"¨÷/ô ˜L×/Ñ/°Ó6¸¸'½
À1½ÀQ½Ø!"¨÷/ð /ó3 (r4   c            	      ó8  € \         P                  ! . RO4      p \        \        4       Fé  w  r\         P                  ! ^
VR7      pT! V^8  d   RMR4      p\         P                  ! \        R^4       Uu. uF  qTRV,          ,          NK  	  upVR7      pV\         P                  ! \         P                  ! V4      4      ,          p\        RVR7      pV! V4      w  r‰r«\        \         P                  ! V4      P                  \        4      V 4       Kë  	  R# u upi )	r   rÃ   rÈ   r+   rÉ   ÚsyequbN)
r   r   r   r   r   r   r‡   r‡   r  rc  éûÿÿÿ)r7   rˆ   rá   râ   r   rH  Úrot90rE  r$   r   Úlog2r.   rø   )Údesired_log2sræ   r0   rŸ  rÏ  r‘   rs   rÊ  rý   ÚscondrÇ  rn   s               r2   Útest_syequbrÐ  ù  sÈ   € Ü—H’HÒ?Ó@€Mä¤Ö'‰
ˆÜ�FŠF�2˜UÔ#ˆÙ˜C !œG‘b¨Ó-ˆÜ�HŠH¬U°2°q¬\Ó:©\¨˜b !�e—m�m©\Ñ:À%ÔHˆØ	ŒR�XŠX”b—g’g˜a“jÓ!Õ!ˆä! (°%Ô8ˆÙ% a›yÑˆ�$ä”R—W’W˜Q“Z×&Ñ&¤sÓ+¨]Ö;ó (ùò ;s   Á4D
Tz.Failing on some OpenBLAS version, see gh-12276)Úreasonc            	      ó  € \         P                  ! ^.^,          R.^,          ,           4      \         P                  ! \         P                  ! ^	4      ^R7      R,          ,           p \        P                  ! V 4      w  rr4\        V^ 4       \        \         P                  ! V4      RR
.^,          R.,           R.^,          ,           4       \         P                  ! ^\         P                  ! \         P                  ! R^4      4      ,          R,           4      p RV R&   RV R&   \        P                  ! V P                  \         P                  4      ^R7      w  rr4\        V^ 4       \        \         P                  ! V4      . RO4       R	# )rZ   iê  )r{  r+   rã  ù                i   y              0@rú  Nr  éüÿÿÿrË  ©r]   r]   )r]   r   )r  r‡   r‡   r   r   rË  r   r‡   r‡   r  r  )r7   rE  r   r   Úzheequbr   r   rÍ  r¢   rå  Úcheequbr.   Ú	complex64)rŸ  rý   rÏ  rÇ  rn   s        r2   Útest_heequbrÙ    s  € ô 	�Š���A•˜˜˜q�Õ Ó!¤B§G¢G¬B¯GªG°A«J¸!Ô$<¸RÕ$?Õ?€AÜ!Ÿ>š>¨!Ó,Ñ€AˆdÜ��qÔÜ”B—G’G˜A“J  S 	¨!¥¨r¨dÕ 2°b°T¸!µVÕ ;Ô<ä
�Š�”2—6’6œ"Ÿ)š) B¨Ó*Ó+Õ+¨bÕ0Ó1€AØ€A€d�GØ€A€d�GÜ!Ÿ>š>¨!¯(©(´2·<±<Ó*@ÈÔJÑ€AˆdÜ��qÔÜ”B—G’G˜A“JÒ IÖJr4   c            	      ó8  € \         P                  P                  ^*4      p ^
pV P                  V4      pV P                  V4      V P                  V4      R,          ,           p\	        \
        4       EF%  w  rEV^8  d=   V P                  W4      pVP                  V4      pWb,          pVP                  V4      pMXV P                  W4      V P                  W4      R,          ,           pVP                  V4      pWc,          pVP                  V4      p\        RVR7      p\        RVR7      p	V! V^ R7      w  r«rÍV	! W§W¼^ R7      w  rïV^8  d'   \        VP                  V4      Wï,          ^R7       EK  \        VP                  V4      Wï,          ^R7       EK(  	  R# )	r(  r+   Úgetc2rÃ   Úgesc2©r;  )Úoverwrite_rhsrƒ   N)	r7   rß   rm  r-   rá   râ   r.   r$   r   )r1   rè   rÃ  rÄ  ræ   r0   rŸ  rŒ   rÛ  rÜ  r¤  r  Újpivrn   r‘   rY   s                   r2   Útest_getc2_gesc2rà    sR  € Ü
�)‰)×
Ñ
 Ó
#€CØ
€AØ—8‘8˜A“;€LØ—8‘8˜A“; §¡¨!£¨R¥Õ/€Lä¤×'‰
ˆØ�Œ7Ø—‘˜“ˆAØ—‘˜“ˆAØÕ ˆAØ—‘˜“‰Aà—‘˜“ §¡¨!£°Õ!2Õ2ˆAØ—‘˜“ˆAØÕ ˆAØ—‘˜“ˆAä  °Ô6ˆÜ  °Ô6ˆÙ$ Q°AÔ6Ñˆ�$Ù˜ ¸!Ô<‰ˆà�Œ7Ü% l×&9Ñ&9¸%Ó&@Ø&'¥g°q÷:ð :ô & l×&9Ñ&9¸%Ó&@Ø&'¥g°q÷:ð :ó+ (r4   r*  ÚjobaÚjobuÚjobvÚjobrÚjobpc                ó6  € \         P                  P                  ^*4      pV w  rš^d\         P                  ! V4      P                  ,          p\        WV4      p\        RVR7      pV^8  pV^8  pV^8H  ;'       d    Wš8H  p\         P                  ! V4      pV^8H  ;'       d    V'       * ;'       d    V'       * pV^8H  ;'       d    T;'       d    T'       * ;'       d    TpV^8H  ;'       d    T;'       d    T'       * ;'       d    TpV'       d   R	pMV'       g	   V'       d   R
pM^ pV^8”  d   V^8X  d   \        \        WÜW#WEWv4	       R# V! VVVVVVVR7      w  pppppp\        VV4       V'       Eg¤   V^ ,          V^,          ,          VRV
 ,          p\        V\        VRR7      VR7       V^8X  d   VRRV
13,          pV'       dP   V'       dH   \        V\         P                  ! V4      ,          VP                  4       P                  ,          WËR7       V'       dB   \        VP                  4       P                  V,          \         P                   ! V
4      VR7       V'       dB   \        VP                  4       P                  V,          \         P                   ! V
4      VR7       \        V^ ,          \         P"                  P%                  V4      4       \        V^,          \         P&                  ! V4      4       \        V^,          ^ 4       R# R# )a�  Test the lapack routine ?gejsv.

This function tests that a singular value decomposition can be performed
on the random M-by-N matrix A. The test performs the SVD using ?gejsv
then performs the following checks:

* ?gejsv exist successfully (info == 0)
* The returned singular values are correct
* `A` can be reconstructed from `u`, `SIGMA`, `v`
* Ensure that u.T @ u is the identity matrix
* Ensure that v.T @ v is the identity matrix
* The reported matrix rank
* The reported number of singular values
* If denormalized floats are required

Notes
-----
joba specifies several choices effecting the calculation's accuracy
Although all arguments are tested, the tests only check that the correct
solution is returned - NOT that the prescribed actions are performed
internally.

jobt is, as of v3.9.0, still experimental and removed to cut down number of
test cases. However keyword itself is tested externally.
ÚgejsvrÃ   )rá  râ  rã  rä  Újobtrå  NF)r:  r¶  r8  r  rc  )r7   rß   rm  rä   rå   r3   r$   r«  r  r  r   r   r   rE  rË  r~   Úidentityrœ  Úmatrix_rankÚcount_nonzero)r*  r0   rá  râ  rã  rä  rå  rè  r1   rç   rè   r?  rŸ  rç  ÚlsvecÚrsvecÚl2tranÚ
is_complexÚinvalid_real_jobvÚinvalid_cplx_jobuÚinvalid_cplx_jobvÚexit_statusÚsvar¿  r  rú   rû   rn   Úsigmas   &&&&&&&&                     r2   Útest_gejsv_generalrö  ;  sp  € ôB �)‰)×
Ñ
 Ó
#€Cð �D€AØ”—’˜%“×$Ñ$Õ$€DÜ# D°Ó5€AÜ˜W¨EÔ2€Eð
 �1‰H€EØ�1‰H€EØ�a‰i×%Ð%˜a™f€FÜ—’ Ó#€Jà ™×HÐH¨U¬×HÐH¸Z¼ÐØ ™×MÐM¨U×-=Ð-=°vÔ(>×MÐMÀ:ÐØ ™×MÐM¨U×-=Ð-=°vÔ(>×MÐMÀ:Ð÷
 Ø‰ß	×/Ø‰àˆàˆqŒ�t˜q”yÜ”i ¨4°tÀ4ÖNá',¨QØ26Ø26Ø26Ø26Ø26Ø26ô(8Ñ$ˆˆQ��4˜ ô 	�T˜;Ô'÷ ˆ{ð ˜!•W˜t A�wÕ&¨#¨b¨q¨'Õ1ˆEÜ˜E¤3 q°UÔ#;À$ÕGà�qŒyð �a˜˜!˜�e•H�çŸÜ ¤B§G¢G¨E£NÕ 2°Q·V±V³X·Z±ZÕ ?ÀÕNßÜ §¡£§
¡
¨Q¥´·²¸A³ÀTÕJßÜ §¡£§
¡
¨Q¥´·²¸A³ÀTÕJä˜˜q�¤2§9¡9×#8Ñ#8¸Ó#;Ô<Ü˜˜q�¤2×#3Ò#3°EÓ#:Ô;ô ˜˜q� 1Ö%ñ5 r4   c                ó  € \        RV R7      pV! R4      w  r#rErg\        V^ 4       \        VP                  R4       \        VP                  R4       \        V\        P                  ! R.V R7      4       \        P
                  ! RV R7      pV! V4      w  r#rErg\        V^ 4       \        VP                  R4       \        VP                  R4       \        V\        P                  ! R.V R7      4       \        P
                  ! RV R7      pV! V4      w  r#rErg\        V^ 4       \        VP                  R4       \        VP                  R4       \        V\        P                  ! . V R7      4       \        P                  ! \        P                  ! ^d4      P                  ^
^
4      4      P                  V 4      p\        P                  ! WˆP                  ,           4      pVP                  R4      p	V! V4      p
\        W‰4       R# )	z*Test edge arguments return expected statusrç  rÃ   rÈ   rŸ  N©rU   rU   )rU   rÉ  )r$   r   r/   r7   rˆ   r   Úsinrå  r\  r.   Úasfortranarrayr~   rÌ  r   )r0   rç  rô  r¿  r  rú   rû   rn   rŸ  ÚAcr6   s   &          r2   Útest_gejsv_edge_argumentsrü  §  s  € ô ˜W¨EÔ2€Eñ $)¨£9Ñ €CˆA�UÜ��qÔÜ�—‘˜&Ô!Ü�—‘˜&Ô!Ü�”b—h’h ˜t¨5Ô1Ô2ô 	�Š�˜EÔ"€AÙ#(¨£8Ñ €CˆA�UÜ��qÔÜ�—‘˜&Ô!Ü�—‘˜&Ô!Ü�”b—h’h ˜t¨5Ô1Ô2ô 	�Š�˜eÔ$€AÙ#(¨£8Ñ €CˆA�UÜ��qÔÜ�—‘˜&Ô!Ü�—‘˜&Ô!Ü�”b—h’h˜r¨Ô/Ô0ô 	�ŠŒr�yŠy˜‹~×%Ñ% b¨"Ó-Ó.×5Ñ5°eÓ<€AÜ
×Ò˜!Ÿc™c�'Ó"€AØ	
�‰�‹€BÙˆa‹€AÜ�AÖr4   Úkwargsrè  c                ó‚   € \         P                  ! R\        R7      p\        R\        R7      p\	        \
        W!3/ V B  R# )z-Test invalid job arguments raise an ExceptionrÃ   rç  N)rZ   rZ   r‡  )rý  rŸ  rç  s   &  r2   Ú test_gejsv_invalid_job_argumentsrÿ  Ë  s/   € ô 	�Š�œeÔ$€AÜ˜W¬EÔ2€EÜ”)˜UÑ0¨Ô0r4   zA,sva_expect,u_expect,v_expectc                óž   € Rp\        RV P                  R7      pV! V 4      w  rgr‰r«\        WVR7       \        W'VR7       \        W8VR7       R# )zr
This test implements the example found in the NAG manual, f08khf.
An example was not found for the complex case.
r.  rç  rÃ   r¶  N)r$   r0   r   )rŸ  Ú
sva_expectÚu_expectÚv_expectr?  rç  rô  r¿  r  rú   rû   rn   s   &&&&        r2   Útest_gejsv_NAGr  Ú  sG   € ð0 €DÜ˜W¨A¯G©GÔ4€Eá#(¨£8Ñ €CˆA�Uä�J¨$Õ/Ü�H dÕ+Ü�H d×+r4   c           
      óü  € \         P                  P                  ^*4      p^
p^d\         P                  ! V 4      P                  ,          p\        V^,
          3WR7      p\        V3WR7      p\        V^,
          3WR7      pVP                  4       VP                  4       VP                  4       .p\         P                  ! V4      \         P                  ! VR4      ,           \         P                  ! V^4      ,           pVP                  V4      p	W‰,          p
\        RV R7      w  r¼V! WeV4      w  rÞpppp\        Wg^ ,          4       \        WW^,          4       \        WG^,          4       \         P                  ! V^ 4      \         P                  ! V^4      ,           \         P                  ! V^4      ,           p\         P                  ! W R7      p\        V4       FX  w  ppVV,          ^,
          pVRVV.3,          VRVV.3&   VRV3;;,          VRV^,           3,          V,          ,          uu&   KZ  	  RVR,          ^,
          ppVRVV.3,          VRVV.3&   \        VVV,          VR7       V
P                  4       pV! WÞVVVV
4      w  pp\        V
V4       \        V	VVR7       V \        9   d   RpVP                  V	,          pM#RpVP                  4       P                  V	,          pV! WÞVVVVVR7      w  pp\        V	VVR7       \!        \"        4      ;_uu_ 4        V! VRR WT4       RRR4       \!        \"        4      ;_uu_ 4        V! WeRR V4       RRR4       \!        \"        4      ;_uu_ 4        V! WeVRR 4       RRR4       \!        \"        4      ;_uu_ 4        V! V^ ,          VR	,          V^ ,          4       RRR4       ^ V^ &   ^ V^ &   V! WeV4      w  ppppp p!\         P$                  P'                  VV^,
          ,          ^ 8H  R
VV^,
          ,           R24       R#   + '       g   i     EL; i  + '       g   i     Lî; i  + '       g   i     LÕ; i  + '       g   i     L©; i)r(  ©r0   r1   rÃ   r8  r¶  r~   r€   r?  N:NrU   Nz?gttrf: _d[info-1] is ú, not the illegal value :0.r‡   ©ÚgttrfÚgttrs)r7   rß   rm  rä   rå   r3   rÌ  rE  r$   r	   r   rá   r   rã   r~   rË  r  rd  Útestingr   )"r0   r1   rè   r?  Údurs   ÚdlÚdiag_cpyrŸ  r‘   rŒ   r	  r
  Ú_dlÚ_dÚ_duÚdu2r  rn   ri  r\  rT  rç   r¶  Úb_cpyÚx_gttrsrŽ   Úb_transÚ__dlÚ__dÚ__duÚ_du2Ú_ipivÚ_infos"   &                                 r2   Útest_gttrf_gttrsr  ü  s™  € ô �)‰)×
Ñ
 Ó
#€CØ
€AØ”—’˜%“×$Ñ$Õ$€Dô 
% a¨¥c V°5Ô	B€BÜ# Q D°Ô?€AÜ	$ a¨¥c V°5Ô	B€Bà—‘“	˜1Ÿ6™6›8 R§W¡W£YÐ/€Hä
�Š�‹
”R—W’W˜R “_Õ$¤r§w¢w¨r°1£~Õ5€AØ�
‰
�1‹€AØ	�€Aä#Ð$6¸eÔD�L€Eá$)¨"°Ó$4Ñ!€CˆS�#�t˜Tä�r A�;Ô'Ü�q 1�+Ô&Ü�r A�;Ô'ô 	�Š��A‹œŸš  a›Õ(¬2¯7ª7°3¸«?Õ:€AÜ
�ŠˆqÔ€Aä˜#–‰ˆˆ1ð �1�g˜�kˆà˜1˜s A˜h˜;�ˆˆ!ˆa�ˆXˆ+‰à	ˆ!ˆQˆ$��1�Q˜˜!��V•9˜Q•;Õ�ñ ð ��b•˜A•€s€Aà�q˜3 ˜(�{•^€A€aˆ!ˆSˆ€k�Nô �A�q˜1•u 4Õ(à�F‰F‹H€EÙ˜# 3¨¨T°1Ó5�M€GˆTä�q˜%Ô ä�A�w TÕ*ð ”ÔØˆØ—#‘#˜•'‰àˆØ—&‘&“(—*‘*˜q•.ˆá˜# 3¨¨T°7À%ÔH�M€GˆTÜ�A�w TÕ*ô 
”z×	"Õ	"Ùˆb��"ˆg�qÔ÷ 
#ä	”z×	"Õ	"Ùˆb�C�R�&˜"Ô÷ 
#ä	”z×	"Õ	"Ùˆb�R˜˜�WÔ÷ 
#ô 
”z×	"Õ	"Ùˆb��e�Q�r•U˜B˜q�EÔ"÷ 
#ð €B€q�EØ€A€a�DÙ*/°°rÓ*:Ñ'€Dˆ#ˆt�T˜5 %Ü‡J�J×Ñ�s˜4 !�8•}¨Ñ)Ð.DÀSÈÐPQÍÅ]ÀOð TIð -Iö K÷ 
#×	"Ð	"úç	"×	"úç	"×	"ú÷ 
#×	"ús0   Ì&P1ÍQÍ>QÎ* Q+Ð1Q	ÑQ	ÑQ(	Ñ+Q;	z1du, d, dl, du_exp, d_exp, du2_exp, ipiv_exp, b, xgš™™™™™@gffffff@gš™™™™™%@gÍÌÌÌÌÌ@r©  gš™™™™3@c	                 óì   € \        RV ^ ,          V ^ ,          34      w  ršV	! W!V 4      w  r¼rÞpp\        Wå4       \        WÓ4       \        WÄRR7       \        Wö4       V
! W¼WÞW÷4      w  pp\        VV4       R# )r	  r.  r¶  Nr  )r$   r   )r  rs   r  Údu_expÚd_expÚdu2_expÚipiv_exprŒ   r‘   r	  r
  r  r  r  r  r  rn   r  s   &&&&&&&&&         r2   Ú0test_gttrf_gttrs_NAG_f07cdf_f07cef_f07crf_f07csfr"  X  ss   € ôd $Ð$6¸¸A½ÀÀ1Å¸ÓG�L€Eá$)¨"°Ó$4Ñ!€CˆS�t˜TÜ�CÔ!Ü�CÔ Ü�B DÕ)Ü�DÔ#á˜# 3¨TÓ5�M€GˆTä�G˜QÖr4   c           
      óì  € \         P                  P                  R 4      pVP                  V4      VP                  V4      R,          ,           pVP                  V^,
          4      VP                  V^,
          4      R,          ,           pVP                  V^,
          4      VP                  V^,
          4      R,          ,           p\         P                  ! V4      \         P                  ! VR4      ,           \         P                  ! V^4      ,           p\         P                  ! V \         P
                  4      '       d2   VP                  VP                  VP                  VP                  3w  rtrVVP                  V 4      VP                  V 4      VP                  V 4      VP                  V 4      3w  rtrV\         P                  P                  YqR8X  d   \         P                  M^R7      p\        R	V34      w  ršV	! WTV4      w  rTrkrÍV
! WTWkWÈVR7      w  rï\        R
V34      w  ppV! V4      w  pppV! VW�R7      w  pp\         P                  ! V 4      P                  R,          p\        VVVR7       R# )iTŽfr+   r�  r�  r’  g      è?rÏ   Nr‡   )r	  Úgtconr“  )r7   rß   rà   rE  rš  r›  rù   r.   rœ  r   r�  r$   rä   rå   r   )r0   r   rè   r1   rs   r  r  rŸ  r£  r	  r$  r  r  rn   rU  r6   r”  r•  r¤  r¥  r¦   rÐ   s   &&&                   r2   Ú
test_gtconr%  —  sÌ  € ô �)‰)×
Ñ
 Ó
)€Cà�
‰
�1‹˜Ÿ
™
 1› bÕ(Õ(€AØ	�‰�A˜•EÓ	˜SŸZ™Z¨¨A­Ó.¨rÕ1Õ	1€BØ	�‰�A˜•EÓ	˜SŸZ™Z¨¨A­Ó.¨rÕ1Õ	1€BÜ
�Š�‹
”R—W’W˜R “_Õ$¤r§w¢w¨r°1£~Õ5€AÜ	‡}‚}�UœBŸK™K×(Ò(Ø—v‘v˜qŸv™v r§w¡w°·±Ð7‰ˆˆbØ—8‘8˜E“? A§H¡H¨U£O°R·Y±Y¸uÓ5EÀrÇyÁyÐQVÓGWÐW�L€Aˆ"ä�I‰I�N‰N˜1°C¬K¤"§&¢&¸QˆNÓ?€Eä#Ð$6¸¸Ó=�L€EÙ!& r¨bÓ!1Ñ€Bˆ2�DÙ�2˜" 4°TÔ:�F€Cä#Ð$6¸¸Ó=�L€Eˆ5Ù˜1“X�N€BˆˆdÙ�2�uÔ(�F€Cˆä�8Š8�E‹?×Ñ Õ$€DÜ�C˜ 4×(r4   c                 óV   € \        R V R7      pVw  r4V! W4R7      w  rV\        V^ 4       R# )Úgeqrfp_lworkrÃ   r  Nr  )r0   r/   r'  rç   rè   rÅ   rn   s   &&     r2   Útest_geqrfp_lworkr(  ³  s-   € ô $ ^¸EÔB€LØ�D€AÙ Ô(�K€EÜ��qÖr4   zddtype,dtypec                 ó\  € \         P                  P                  ^*4      p^d\         P                  ! V4      P                  ,          p^
p\        V3W4      ^,           p\        V^,
          3W4      p\         P                  ! V4      \         P                  ! VR
4      ,           \         P                  ! \         P                  ! V4      ^4      ,           pVP                  4       VP                  4       .p\        RVR7      p	V	! WV4      w  r«p\        WX^ ,          4       \        Wh^,          4       \        V^ RV R2R7       \         P                  ! VR
4      \         P                  ! \         P                  ! V4      4      ,           p\         P                  ! V
4      p\        W}V,          VP                  4       P                  ,          VR7       \        V3W4      pW,          p\        RVR7      pV! W«P                  4       V4      w  pp\        V^ RV R2R7       \        VVVR7       R	# )r(  ÚpttrfrÃ   zpttrf: info = z, should be 0)Úerr_msgr¶  Úpttrszpttrs: info = Nr‡   )r7   rß   rm  rä   rå   r3   rE  rË  rÌ  r$   r	   r   r   r   r‹   r~   )Úddtyper0   r1   r?  rè   rs   ré  rŸ  r  r*  r  Ú_ern   r\  r“  r‘   rŒ   r,  Ú_xs   &&                 r2   Útest_pttrf_pttrsr0  ¼  s�  € ô �)‰)×
Ñ
 Ó
#€CàŒr�xŠx˜‹×"Ñ"Õ"€Dà
€Aô
 	$ Q D¨&Ó6¸Õ:€Aä# Q q¥S F¨EÓ7€Aô 	�Š�‹
”R—W’W˜Q “^Õ#¤b§g¢g¬b¯gªg°a«j¸!Ó&<Õ<€Aà—‘“˜!Ÿ&™&›(Ð#€Hä˜W¨EÔ2€Eá˜“;�L€BˆDä�q 1�+Ô&Ü�q 1�+Ô&Ü��q N°4°&¸Ð"FÕGô 	�Š��B‹œ"Ÿ'š'¤"§'¢'¨!£*Ó-Õ-€AÜ
�Š�‹€Aä�A˜•s˜1Ÿ;™;›=Ÿ?™?Õ*°Õ6ô 	$ Q D¨%Ó5€Aà	�€Aô ˜W¨EÔ2€EÙ�RŸ™› AÓ&�H€BˆÜ��q N°4°&¸Ð"FÕGô �A�r ×%r4   c                 ó  € ^
p\         P                  P                  R4      p\        RVR7      p\	        V3W4      ^,           p\	        V^,
          3W4      p\        \        WERR V4       \        \        WEVRR 4       R# )é
   rÂ   r*  rÃ   Nr‡   )r7   rß   rm  r$   r3   r  rd  )r-  r0   rè   r1   r*  rs   ré  s   &&     r2   Ú*test_pttrf_pttrs_errors_incompatible_shaper3  í  sr   € ð 	€AÜ
�)‰)×
Ñ
 Ó
%€CÜ˜W¨EÔ2€EÜ# Q D¨&Ó6¸Õ:€AÜ# Q q¥S F¨EÓ7€Aä”*˜e s¨ V¨QÔ/Ü”*˜e¨¨#¨2¨Ö/r4   c                 ó€  € ^
p\         P                  P                  ^*4      p\        RVR7      p\	        V3W4      ^,           p\	        V^,
          3W4      p^ V^ &   ^ V^ &   V! WV4      w  rxp	\        Wy^,
          ,          ^ RWy^,
          ,           R24       \	        V3W4      pV! WV4      w  rxp	\        V	^ 8g  R4       R# )r2  r*  rÃ   z?pttrf: _d[info-1] is r  z2?pttrf should fail with non-spd matrix, but didn'tN)r7   rß   rm  r$   r3   r   r   )
r-  r0   rè   r1   r*  rs   ré  r  r.  rn   s
   &&        r2   Ú'test_pttrf_pttrs_errors_singular_nonSPDr5  ú  s¿   € ð 	€AÜ
�)‰)×
Ñ
 Ó
#€CÜ˜W¨EÔ2€EÜ# Q D¨&Ó6¸Õ:€AÜ# Q q¥S F¨EÓ7€Aà€A€a�DØ€A€a�DÙ˜“;�L€BˆDÜ�˜1•H•˜qØ)¨"°A­X­,¨Ð7RÐSôUô 	$ Q D¨&Ó6€AÙ˜“;�L€BˆDÜˆD�A‰IÐKÖLr4   z%d, e, d_expect, e_expect, b, x_expectg      @c                 óR  € R p\        RV^ ,          R7      pV! W4      w  r‰p
\        W‚VR7       \        W“VR7       \        RV^ ,          R7      pV! W‰P                  4       V4      w  rÊ\        WÅVR7       VP                  \        9   d   V! W‰V^R7      w  rÊ\        WÅVR7       R# R# )r.  r*  rÃ   r¶  r,  rú  N)r$   r   rË  r0   r,   )rs   ré  Úd_expectÚe_expectrŒ   Úx_expectr?  r*  r  r.  rn   r,  r/  s   &&&&&&       r2   Útest_pttrf_pttrs_NAGr:  	  s•   € ð4 €DÜ˜W¨A¨a­DÔ1€EÙ˜“;�L€BˆDÜ�B tÕ,Ü�B tÕ,ä˜W¨A¨a­DÔ1€EÙ�RŸ™› AÓ&�H€BÜ�B tÕ,ð 	‡w�w”.Ô Ù˜ ¨!Ô,‰ˆÜ˜¨4×0ñ !r4   c                 ó.  € \         P                  P                  ^*4      pV^8X  Ed&   \        W"3W4      pV\         P                  ! \         P
                  ! V4      ^V,          ,           4      ,           pWUP                  4       P                  ,           ^,          p\        V4      ^,          p\        V3W4      ^,           p\        V^,
          3W4      p\         P                  ! V4      \         P                  ! V^4      ,           \         P                  ! VR4      ,           p	Wi,          VP                  4       P                  ,          p
TpMÆ\        V3W4      p\        V^,
          3W4      pV^,           p\         P                  ! V4      \         P                  ! V^4      ,           \         P                  ! VR4      ,           p
\         P                  ! V4      \         P                  ! VR4      ,           \         P                  ! V^4      ,           pWxW«3# )r(  r‡   )	r7   rß   rm  r3   rE  r   rË  r~   r   )r0   Úrealtyperè   Ú	compute_zr1   ÚA_eigÚvrrs   ré  ÚtrirŸ  Úzs   &&&&        r2   Úpteqr_get_d_e_A_zrB  9	  sm  € ô �)‰)×
Ñ
 Ó
#€CØ�A…~ä+¨Q¨F°EÓ?ˆØœŸš¤§¢¨£¨a°­cÕ 1Ó2Õ2ˆØŸ™›Ÿ™Õ'¨1Õ,ˆä�%‹[˜�^ˆä'¨¨¨hÓ<¸qÕ@ˆÜ'¨¨1­¨°Ó>ˆÜ�gŠg�a‹jœ2Ÿ7š7 1 a›=Õ(¬2¯7ª7°1°b«>Õ9ˆà�H�r—w‘w“y—{‘{Õ"ˆà‰ô (¨¨¨hÓ<ˆÜ'¨¨1­¨°Ó>ˆð ��EˆÜ�GŠG�A‹JœŸš  A›Õ&¬¯ª°°B«Õ7ˆÜ�GŠG�A‹JœŸš  B›Õ'¬"¯'ª'°!°Q«-Õ7ˆØ�!ˆ<Ðr4   zdtype,realtyper=  c                ó”  € R\         P                  ! V 4      P                  ,          p\        RV R7      p^
p\	        WWR4      w  rgr‰V! WgW’R7      w  r«rÍ\        V^ RV R24       \        \         P                  ! \        V4      ^ ,          4      \         P                  ! V
4      VR7       V'       d—   \        V\         P                  ! V4      P                  ,          \         P                  ! V4      VR7       \        V\         P                  ! V
4      ,          \         P                  ! V4      P                  ,          WƒR7       R# R# )	zó
Tests the ?pteqr lapack routine for all dtypes and compute_z parameters.
It generates random SPD matrix diagonals d and e, and then confirms
correct eigenvalues with scipy.linalg.eig. With applicable compute_z=2 it
tests that z can reform A.
r³  ÚpteqrrÃ   ©rs   ré  rA  r=  zinfo = z, should be 0.r¶  N)r7   rä   rå   r$   rB  r   r   Úsortr   rË  r~   ré  rE  )r0   r<  r=  r?  rD  rè   rs   ré  rŸ  rA  Úd_pteqrÚe_pteqrÚz_pteqrrn   s   &&&           r2   Ú
test_pteqrrJ  Y	  sï   € ð ”—’˜“×#Ñ#Õ#€DÜ˜g¨eÔ4€Eà
€Aä" 5°AÓA�J€Aˆ!á&+¨a¸Ô&OÑ#€G�gÜ��q˜G D 6¨Ð8Ô9ô ”B—G’GœD ›G A�JÓ'¬¯ª°Ó)9ÀÕEçä˜¤"§'¢'¨'Ó"2×"4Ñ"4Õ4´b·k²kÀ!³nØ!õ	#ô 	˜¤"§'¢'¨'Ó"2Õ2´R·W²W¸WÓ5E×5GÑ5GÕGØ÷	&ñ r4   c                 ó~   € \        R V R7      p^
p\        WWB4      w  rVrxV! V^,
          WhVR7      w  ršr¼V^ 8”  g   Q hR# ©rD  rÃ   ©rA  r=  N©r$   rB  ©r0   r<  r=  rD  rè   rs   ré  rŸ  rA  rG  rH  rI  rn   s   &&&          r2   Útest_pteqr_error_non_spdrP  y	  sI   € ô ˜g¨eÔ4€Eà
€AÜ" 5°AÓA�J€Aˆ!ñ ',¨A°­E°1ÀYÔ&OÑ#€G�gØ�!Œ8€OŠ8r4   c           	      óÚ   € \        R V R7      p^
p\        WWB4      w  rVrx\        \        W5RR WhVR7       \        \        W5VRR W‚R7       V'       d   \        \        W5WhRR VR7       R# R# )rD  rÃ   NrM  r‡   )r$   rB  r  rd  )	r0   r<  r=  rD  rè   rs   ré  rŸ  rA  s	   &&&      r2   Ú"test_pteqr_raise_error_wrong_shaperR  ‡	  si   € ô ˜g¨eÔ4€EØ
€AÜ" 5°AÓA�J€Aˆ!ä”*˜e s¨ V¨Q¸yÕIÜ”*˜e¨¨#¨2¨°!ÕIßÜ”j %¨A°3°B°À9×Mñ r4   c                 ó‚   € \        R V R7      p^
p\        WWB4      w  rVrx^ V^ &   ^ V^ &   V! WVW‚R7      w  ršr¼V^ 8”  g   Q hR# rL  rN  rO  s   &&&          r2   Útest_pteqr_error_singularrT  •	  sS   € ô ˜g¨eÔ4€EØ
€AÜ" 5°AÓA�J€Aˆ!à€A€a�DØ€A€a�DÙ&+¨A°AÔ&KÑ#€G�gØ�!Œ8€OŠ8r4   zcompute_z,d,e,d_expect,z_expectc                ót  € Rp\        RVP                  R7      p\        P                  ! V4      \        P                  ! V^4      ,           \        P                  ! VR4      ,           pV! WWpR7      w  r‰r«\	        WƒVR7       \	        \        P
                  ! V
4      \        P
                  ! V4      VR7       R# )zV
Implements real (f08jgf) example from NAG Manual Mark 26.
Tests for correct outputs.
r.  rD  rÃ   rE  r¶  Nr‡   )r$   r0   r7   rE  r   r¢   )r=  rs   ré  r7  Úz_expectr?  rD  rA  r  r.  Ú_zrn   s   &&&&&       r2   Útest_pteqr_NAG_f08jgfrX  £	  s|   € ð  €DÜ˜g¨a¯g©gÔ6€Eä
�Š�‹
”R—W’W˜Q “]Õ"¤R§W¢W¨Q°£^Õ3€AÙ˜q¨Ô@Ñ€BˆBÜ�B tÕ,Ü”B—F’F˜2“J¤§¢ xÓ 0°t×<r4   Úmatrix_sizec                 óP  € \         P                  P                  ^*4      p^ú\         P                  ! V 4      P                  ,          p^d\         P                  ! V 4      P                  ,          p\        RV R7      p\        RV R7      pVw  rx\        Wx3WR7      p	V! V	4      w  r«p\         P                  ! V
4      pWx8”  d4   \         P                  ! Ww3V R7      pW®RRV13&   V! WëVR7      ^ ,          pMV! V
RRV13,          W·R7      ^ ,          p\        Wý,          W“R7       \        \         P                  ! VP                  ^ ,          4      WÿP                  4       P                  ,          VVR	7       \        V\         P                  ! V4      VR7       \        \         P                  ! \         P                   ! V4      \         P                  ! \#        \         P                   ! V4      4      4      8„  4      4       \        V^ 8H  4       \        W‡3WR7      R
,          p\%        V4      w  ppV! V4      w  ppp\        \         P&                  ! \         P                   ! V4      ^ 8  4      ;'       d.    \         P                  ! \         P                   ! V4      ^ 8„  4      4       R# )r(  ÚgeqrfprÃ   Úorgqrr  r8  N)rz   rÅ   rÏ   ra  r‡   )r7   rß   rm  rä   rå   r$   r3   r   r   r   r   r/   rË  r~   r   ÚallrE  rd   r   rI  )r0   rY  r1   rÐ   r?  r[  Úgqrrç   rè   rŸ  Úqr_Arz   rn   r±  Úqqrr   Ú
A_negativeÚr_rq_negÚq_rq_negÚrq_A_negÚtau_negÚinfo_negs   &&                    r2   Útest_geqrfprg  ¼	  s÷  € ô �)‰)×
Ñ
 Ó
#€CØŒr�xŠx˜‹×"Ñ"Õ"€DØŒr�xŠx˜‹×"Ñ"Õ"€Dä˜x°Ô6€FÜ
˜G¨EÔ
2€Cà�D€Aô 	$ Q F°%ÔA€Aá˜Q“i�O€Dˆtô 	�Š�‹€Að
 	„uô �hŠh˜�v UÔ+ˆàˆAˆr�ˆrˆE‰
ñ � AÔ& qÕ)‰á��Q˜˜˜�U• Ô.¨qÕ1ˆô �A•C˜Õ&ä”B—F’F˜1Ÿ7™7 1�:Ó&¨¯6©6«8¯:©:­¸TØõô �A”r—w’w˜q“z¨Õ-äŒB�FŠF”2—7’7˜1“:¤§¢¬¬R¯WªW°Q«Z«Ó 9Ñ9Ó:Ô;äˆD�A‰IÔô -¨a¨V¸5ÔJÈRÕO€JÜ˜J›Ñ€HˆhÙ"(¨Ó"4Ñ€Hˆg�xô ŒB�FŠF”2—7’7˜8Ó$ qÑ(Ó)÷ #ð #Ü�FŠF”2—7’7˜1“: ‘>Ó"ö$r4   c                  ó€   € \         P                  ! . 4      p \        R V P                  R7      p\	        \
        W4       R# )r[  rÃ   N)r7   rˆ   r$   r0   r  r  )ÚA_emptyr[  s     r2   Ú#test_geqrfp_errors_with_empty_arrayrj  þ	  s)   € ä�hŠh�r‹l€GÜ˜h¨g¯m©mÔ<€FÜ”)˜VÖ-r4   ÚdriverÚpfxÚsyÚhec                 ó^  € R pV R8X  d   \         M\        p\        W,           R,           V^ ,          R7      p\        W,           R,           V^,          R7      p \        WB^R7       \        WR^R7       R#   \         d-   p\
        P                  ! Y,            RT 24        Rp?R# Rp?ii ; i)é°  rm  Ú_lworkrÃ   rú  ú$_lwork raised unexpected exception: N©rã   r,   r$   r    r  r@   Úfail©rl  rk  rè   r0   Úsc_dlwÚdz_dlwré  s   &&     r2   Útest_standard_eigh_lworksrx  
  s�   € ð 	€AØ $œ;�K¬N€EÜ˜c�j¨Õ1¸¸q½ÔB€FÜ˜c�j¨Õ1¸¸q½ÔB€FðLÜ�v¨Õ*Ü�v¨×*øÜô LÜ�Š�s•z�lÐ"FÀqÀcÐJ×KÒKûðLúó   ÁA5 Á5B,Â !B'Â'B,ÚgvÚgvxc                 ó^  € R pV R8X  d   \         M\        p\        W,           R,           V^ ,          R7      p\        W,           R,           V^,          R7      p \        WBRR7       \        WRRR7       R#   \         d-   p\
        P                  ! Y,            RT 24        Rp?R# Rp?ii ; i)rp  rm  rq  rÃ   r\  rX  rr  Nrs  ru  s   &&     r2   Útest_generalized_eigh_lworksr}  
  s�   € ð 	€AØ $œ;�K¬N€EÜ˜c�j¨Õ1¸¸q½ÔB€FÜ˜c�j¨Õ1¸¸q½ÔB€FðLÜ�v sÕ+Ü�v s×+øÜô LÜ�Š�s•z�lÐ"FÀqÀcÐJ×KÒKûðLúry  Údtype_rç   c                 óD  € \         P                  P                  R 4      pVP                  ^ V4      pW,
          pV \        9   d   RMRpVR,           p\        W`R7      p\        WqW44      pVR8X  d   TMV3p\        V U	u. uF  q™^ 8„  NK	  	  up	4      '       g   Q hR# u up	i )rÂ   ÚorÚunÚ	csd_lworkrÃ   N)r7   rß   rà   r™  rã   r$   r    r]  )
r~  rç   r1   rh   r   rl  Údlwr’  Úlwvalr‘   s
   &&        r2   Útest_orcsd_uncsd_lworkr…  "
  s‘   € ô �)‰)×
Ñ
 Ó
%€CØ�‰�Q˜Ó€AØ	�€AØœKÔ'‰$¨T€CØ
�Õ
€CÜ	˜#Ô	,€BÜ˜2 !Ó'€EØ˜D”[‰E u h€EÜ™uÓ%™u˜!�A”™uÑ%×&Ò&Ð&Ò&ùÒ%s   Á?Bc           
      óx  € ^ú^P^ªr2pV \         9   d   RMRpVR8X  d   \        P                  ! V4      M\        P                  ! V4      p\	        VR,           VR,           3V R7      w  rg\        WqW#4      pVR8X  d   RV/M\        \        RR.V4      4      p	V! VRV1RV13,          VRV1VR13,          WRR1RV13,          WRR1VR13,          3/ V	B w
  r«rÍrïppppV^ 8X  g   Q h\        VV4      p\        VV4      p\        \        W#4      \        W,
          W,
          4      4      p\        W#4      V,
          p\        W!V,
          4      V,
          p\        W,
          V4      V,
          p\        W,
          W,
          4      V,
          p\        P                  ! W3V R7      pV ! R	4      p\        V4       F
  pVVVV3&   K  	  \        V4       F  pVVVV,           VV,           3&   K  	  \        V4       F<  pV) VVV,           V,           VV,           V,           V,           V,           V,           3&   K>  	  \        V4       F-  pVVVV,           V,           V,           VV,           V,           3&   K/  	  \        V4       Fõ  p\        P                  ! VV,          4      VVV,           VV,           3&   \        P                  ! VV,          4      VVV,           V,           VV,           V,           V,           3&   \        P                  ! VV,          4      ) VVV,           VV,           V,           V,           V,           3&   \        P                  ! VV,          4      VVV,           V,           VV,           3&   K÷  	  VV,          V,          p\        VVR
R\        P                   ! V 4      P"                  ,          R7       R# )éú   r€  r�  Úcsdr‚  rÃ   rÅ   ÚlrworkNrÈ   rã  g     ˆÃ@ra  )rã   r!   Úrvsr"   r$   r    Údictr  r   rq  r7   r   rH  Úcosrù  r   rä   rå   )r~  rç   rh   r   rl  ÚXÚdrvrƒ  r„  ÚlwvalsÚcs11Úcs12Úcs21Úcs22ÚthetaÚu1Úu2Úv1tÚv2trn   ri  ÚVHr±  Ún11Ún12Ún21Ún22ÚSÚonerT  ÚXcs   &                              r2   Útest_orcsd_uncsdr¡  0
  s$  € à�2�sˆ!€AàœKÔ'‰$¨T€CØ! TœkŒ�Š˜Ô¬}×/@Ò/@ÀÓ/C€Aä  u¥¨c°KÕ.?Ð @ÈÔO�H€CÜ˜3 1Ó(€EØ!$¨¤ˆg�uÑ´$´s¸GØ<Dð<FØGLó8Nó 3O€Fñ 	ˆAˆbˆqˆb�"�1�"ˆf�I�q˜˜!˜˜Q™R˜•y !¡B¨¨¨ F¥)¨Q©r°1±2¨v­YÑA¸&ÑAñ :€D�˜E r¨3°°Tð �1Œ9Ðˆ9ä�2�rÓ€AÜ	�C˜Ó	€BÜŒC�‹I”s˜1�3 ¥“}Ó%€AÜ
ˆa‹)�a�-€CÜ
ˆa�1•‹+˜�/€CÜ
ˆa�c�1‹+˜�/€CÜ
ˆa�c�1•3‹-˜!Õ
€Cä
�Š�!�˜vÔ&€AÙ
�‹*€CÜ�3ŽZˆØˆˆ!ˆQˆ$‹ñ ä�3ŽZˆØˆˆ!ˆA�#ˆq��sˆ(‹ñ ä�3ŽZˆØ),¨ˆˆ!ˆC�%��'�1�S•5˜•7˜3•;˜s•? 1Õ$Ð
$Ó%ñ ä�3ŽZˆØ #ˆˆ!ˆC�%��'�!�)�S˜•U˜1•WÐ
Óñ ô �1ŽXˆÜŸ&š&  q¥Ó*ˆˆ!ˆC�%��3•ˆ,‰Ü"$§&¢&¨¨q­Ó"2ˆˆ!ˆC�%��'�1�Q•3�s•7˜3•;Ð
Ñä%'§V¢V¨E°!­HÓ%5Ð$5ˆˆ!ˆC�%��3•�s•˜3•˜q•Ð
 Ñ!ÜŸFšF 5¨¥8Ó,ˆˆ!ˆC�%��'�1�S•5ˆ.Óñ ð 
ˆQ���€BÜ�A�r ¨¬R¯XªX°fÓ-=×-AÑ-AÕ)A×Br4   Ú
trans_boolFÚfactrZ  c                óÊ  € \         P                  P                  ^*4      p^d\         P                  ! V 4      P                  ,          p\        RV R7      w  rV^
p\        V^,
          3WR7      p\        V3WR7      p	\        V^,
          3WR7      p
\         P                  ! VR4      \         P                  ! V	4      ,           \         P                  ! V
^4      ,           p\        V^3WR7      pV'       d   V \        9   d   RMRMRpV'       d   VP                  4       P                  MTV,          pVP                  4       V	P                  4       V
P                  4       VP                  4       .pVR8X  d
   V! W‰V
4      M	R.^,          w  ppppppV! W‰W®W-VVVVVR7      pVw
  pppppppppp \        V ^ 8H  R	V  R
24       \        W�^ ,          4       \        WŸ^,          4       \        W¯^,          4       \        Wï^,          4       \        VVVR7       \        \        VR4      RJRV 24       \        VP                   ^ ,          VP                   ^,          8H  RVP                   ^ ,           RVP                   ^,           24       \        VP                   ^ ,          VP                   ^,          8H  RVP                   ^ ,           RVP                   ^,           24       R# )a;  
These tests uses ?gtsvx to solve a random Ax=b system for each dtype.
It tests that the outputs define an LU matrix, that inputs are unmodified,
transposal options, incompatible shapes, singular matrices, and
singular factorizations. It parametrizes DTYPES and the 'fact' value along
with the fact related inputs.
rÃ   r  r~   r€   rh  rZ  N©r£  rŽ   ÚdlfÚdfÚdufr  r  z?gtsvx info = z, should be zeror¶  Ú__len__Túrcond should be scalar but is úferr.shape is z but should be úberr.shape is ©Úgtsvxr	  r‡   )r7   rß   rm  rä   rå   r$   r3   rE  rã   rË  r~   rÌ  r   r	   r   r·   r/   )!r0   r¢  r£  r1   r?  r®  r	  rè   r  rs   r  rŸ  r‘   rŽ   rŒ   Ú
inputs_cpyÚdlf_Údf_Úduf_Údu2f_Úipiv_Úinfo_Ú	gtsvx_outr¦  r§  r¨  Údu2fr  Úx_solnr#  ÚferrÚberrrn   s!   &&&                              r2   Ú
test_gtsvxr»  _
  so  € ô �)‰)×
Ñ
 Ó
#€Cà”—’˜%“×$Ñ$Õ$€Dä#Ð$6¸eÔD�L€Eà
€AÜ	$ a¨¥c V°5Ô	B€BÜ# Q D°Ô?€AÜ	$ a¨¥c V°5Ô	B€BÜ
�Š��B‹œ"Ÿ'š' !›*Õ$¤r§w¢w¨r°1£~Õ5€Aä# Q¨ F°%ÔA€Aç6@�Eœ[Ô(‰S©cÀc€Eß!ˆ�‰‹�Š q¨AÕ-€Að —'‘'“)˜QŸV™V›X r§w¡w£y°!·&±&³(Ð;€Jð ! CœK‰ˆb�RÔ¨d¨V°A­Xñ )€Dˆ#ˆt�U˜E 5ñ �b˜R¨ÀÈØ E°ô7€Ià@IÑ=€CˆˆS�$˜˜f e¨T°4¸ÜˆD�A‰I˜¨ vÐ-=Ð>Ô?ô �r a�=Ô)Ü�q Q�-Ô(Ü�r a�=Ô)Ü�q Q�-Ô(ô �A�v DÕ)ô ŒG�E˜9Ó%¨TÐ1Ø,¨U¨GÐ4ô6ô ˆD�J‰J�q�M˜QŸW™W Q�ZÑ'¨N¸4¿:¹:Àa½=¸/ð J1Ø12·±¸µ°ð+>ô @ô ˆD�J‰J�q�M˜QŸW™W Q�ZÑ'¨N¸4¿:¹:Àa½=¸/ð J1Ø12·±¸µ°ð+>ö @r4   c                 ón  € \         P                  P                  ^*4      p\        RV R7      w  rE^
p\	        V^,
          3WR7      p\	        V3WR7      p\	        V^,
          3WR7      p	\         P
                  ! VR4      \         P
                  ! V4      ,           \         P
                  ! V	^4      ,           p
\	        V^3WR7      pV \        9   d   RMRpV'       d   V
P                  4       P                  MT
V,          pVR8X  d
   V! WxV	4      M	R.^,          w  rïppppV! WxW�W,WïVVVR7      pVw
  ppppppppppVR8X  d1   ^ VR&   ^ VR&   V! WxW�4      pVw
  ppppppppppV^ 8”  g   Q R	4       hR# VR8X  d<   ^ VR&   ^ VR&   ^ VR&   V! WxW�W.VVVVR
7
      pVw
  ppppppppppV^ 8”  g   Q R	4       hR# R# )r(  rÃ   r  r~   r€   rZ  Nr¥  rh  z&info should be > 0 for singular matrix)r£  r¦  r§  r¨  r  r  r­  r‡   )	r7   rß   rm  r$   r3   rE  rã   rË  r~   )r0   r¢  r£  r1   r®  r	  rè   r  rs   r  rŸ  r‘   rŽ   rŒ   r°  r±  r²  r³  r´  rµ  r¶  r¦  r§  r¨  r·  r  r¸  r#  r¹  rº  rn   s   &&&                            r2   Útest_gtsvx_error_singularr½  œ
  sÜ  € ô �)‰)×
Ñ
 Ó
#€Cä#Ð$6¸eÔD�L€Eà
€AÜ	$ a¨¥c V°5Ô	B€BÜ# Q D°Ô?€AÜ	$ a¨¥c V°5Ô	B€BÜ
�Š��B‹œ"Ÿ'š' !›*Õ$¤r§w¢w¨r°1£~Õ5€Aä# Q¨ F°%ÔA€AàœKÔ'‰C¨S€Eß!ˆ�‰‹�Š q¨AÕ-€Að ! CœK‰ˆb�RÔ¨d¨V°A­Xñ )€Dˆt�U˜E 5ñ �b˜R¨ÀØ E°ô7€Ià@IÑ=€CˆˆS�$˜˜f e¨T°4¸ð ˆs„{àˆˆ"‰Øˆˆ2‰á˜" Ó'ˆ	ØDMÑAˆˆR��d˜D &¨%°°t¸Tà�aŒxÐAÐAÓAŠxà	�ŒàˆˆB‰ØˆˆR‰Øˆˆb‰	á˜" ¨TÀÈØ#¨%ô1ˆ	àDMÑAˆˆR��d˜D &¨%°°t¸Tà�aŒxÐAÐAÓAŠxñ 
r4   c                 ó  € \         P                  P                  ^*4      p\        R	V R7      w  rE^
p\	        V^,
          3WR7      p\	        V3WR7      p\	        V^,
          3WR7      p	\         P
                  ! VR
4      \         P
                  ! V4      ,           \         P
                  ! V	^4      ,           p
\	        V^3WR7      pV \        9   d   RMRpV'       d   V
P                  4       P                  MT
V,          pVR8X  d
   V! WxV	4      M	R.^,          w  rïppppVR8X  do   \        \        WGRR
 W‰VW,WïVVVR7       \        \        WGVRR
 W�W,WïVVVR7       \        \        WGW‰RR
 VW,WïVVVR7       \        \        WGW‰VRR
 W,WïVVVR7       R# \        \        WGW‰VW,VRR
 VVVVR7       \        \        WGW‰VW,WïRR
 VVVR7       \        \        WGW‰VW,WïVRR
 VVR7       \        \        WGW‰VW,WïVVRR
 VR7       R# )r(  rÃ   r  r~   r€   rZ  Nrh  r¥  r­  r‡   )r7   rß   rm  r$   r3   rE  rã   rË  r~   r  rd  r  )r0   r¢  r£  r1   r®  r	  rè   r  rs   r  rŸ  r‘   rŽ   rŒ   r°  r±  r²  r³  r´  rµ  s   &&&                 r2   Ú"test_gtsvx_error_incompatible_sizer¿  Ï
  s  € ô �)‰)×
Ñ
 Ó
#€Cä#Ð$6¸eÔD�L€Eà
€AÜ	$ a¨¥c V°5Ô	B€BÜ# Q D°Ô?€AÜ	$ a¨¥c V°5Ô	B€BÜ
�Š��B‹œ"Ÿ'š' !›*Õ$¤r§w¢w¨r°1£~Õ5€Aä# Q¨ F°%ÔA€AàœKÔ'‰C¨S€Eß!ˆ�‰‹�Š q¨AÕ-€Að ! CœK‰ˆb�RÔ¨d¨V°A­Xñ )€Dˆt�U˜E 5ð ˆs„{Ü”j %¨C¨R¨°!¸Ø°$Ø E°õ	7ô 	”j %¨Q¨s°¨V°RØ°$Ø E°õ	7ô 	”j %¨Q°3°B°¸Ø°$Ø E°õ	7ô 	”i ¨A°1°S°b°6Ø°$Ø E°÷	7ô 	”j %¨Q°AØ°$°s¸°)ÀØ E°õ	7ô 	”j %¨Q°AØ°$¸sÀ¸8Ø E°õ	7ô 	”j %¨Q°AØ°$Ø˜s ˜)¨°Uõ	<ô 	”j %¨Q°AØ°$Ø E¨#¨2 J°U÷	<r4   zdu,d,dl,b,xc           
      ón   € \        R VP                  R7      pV! W!W4      pVw
  rxršr¼rÞpp\        WL4       R# )r®  rÃ   N©r$   r0   r   )r  rs   r  rŒ   r‘   r®  r¶  r¦  r§  r¨  r·  r  r¸  r#  r¹  rº  rn   s   &&&&&            r2   Útest_gtsvx_NAGrÂ    s:   € ô. ˜W¨A¯G©GÔ4€Eá�b˜RÓ#€IØ@IÑ=€CˆS˜ e°4¸ä˜aÖ(r4   zfact,df_de_lambdac                 ó<   € \        R VP                  R7      ! W4      # ©r*  rÃ   ©r$   r0   ©rs   ré  s   &&r2   Ú<lambda>rÇ  %  ó   € Ô(8¸Ø?@¿w¹wõ)HØHIô)Nr4   c                 ó   € R# ©N)NNNr©   rÆ  s   &&r2   rÇ  rÇ  '  ó   € Ñ-?r4   c           	     ó:  € \         P                  P                  ^*4      p^d\         P                  ! V 4      P                  ,          p\        RV R7      p^p\        V3W4      ^,           p\        V^,
          3W4      p	\         P                  ! V4      \         P                  ! V	R4      ,           \         P                  ! \         P                  ! V	4      ^4      ,           p
\        V^3WR7      pW«,          pV! W‰4      w  rÞpVP                  4       V	P                  4       VP                  4       .pV! W‰WÂWÞR7      w  rÞppppp\        VV^ ,          4       \        V	V^,          4       \        VV^,          4       \        V^ 8H  RV R24       \        VV4       \         P                  ! VR4      \         P                  ! \         P                  ! V4      4      ,           p\         P                  ! V4      p\        V
VV,          \         P                  ! V4      P                  ,          VR7       \!        VR4      '       d   Q R	V 24       h\        VP"                  R8H  R
VP"                   R24       \        VP"                  R8H  RVP"                   R24       R# )a  
This tests the ?ptsvx lapack routine wrapper to solve a random system
Ax = b for all dtypes and input variations. Tests for: unmodified
input parameters, fact options, incompatible matrix shapes raise an error,
and singular matrices return info of illegal value.
ÚptsvxrÃ   r  ©r£  r§  Úefzinfo should be 0 but is Ú.r¶  r©  rª  r«  z# but should be ({x_soln.shape[1]},)r¬  Nr‡   )rZ   )r7   rß   rm  rä   rå   r$   r3   rE  rË  rÌ  r	   r   r   r   r   r~   r·   r/   )r0   r<  r£  Údf_de_lambdar1   r?  rÍ  rè   rs   ré  rŸ  r¸  rŒ   r§  rÏ  rn   r  r‘   r#  r¹  rº  r\  r“  s   &&&&                   r2   Ú
test_ptsvxrÒ  !  s  € ô �)‰)×
Ñ
 Ó
#€Cà”—’˜%“×$Ñ$Õ$€DÜ˜W¨EÔ2€EØ	€Aä# Q D¨(Ó8¸1Õ<€AÜ# Q q¥S F¨EÓ7€AÜ
�Š�‹
”R—W’W˜Q “^Õ#¤b§g¢g¬b¯gªg°a«j¸!Ó&<Õ<€AÜ(¨!¨Q¨°uÔF€FØ	�
€Añ   Ó%�L€BˆDð —‘“˜!Ÿ&™&›( A§F¡F£HÐ-€Hñ */¨q°QØ24ô*=Ñ&€BˆAˆu�d˜D $ô �q˜( 1�+Ô&Ü�q˜( 1�+Ô&Ü�q˜( 1�+Ô&ÜˆD�A‰IÐ1°$°°qÐ9Ô:Ü˜f aÔ(ô 	�Š��B‹œ"Ÿ'š'¤"§'¢'¨!£*Ó-Õ-€AÜ
�Š�‹€AÜ�A�q˜•sœBŸGšG A›JŸL™LÕ)°Õ5ô �u˜i×(Ò(ð 1Ø
(¨¨Ð0ó1Ð(ô ˆD�J‰J˜$Ñ >°$·*±*°ð >8ð "8ô :ô ˆD�J‰J˜$Ñ >°$·*±*°ð >8ð "8ö :r4   c                 ó<   € \        R VP                  R7      ! W4      # rÄ  rÅ  rÆ  s   &&r2   rÇ  rÇ  `  rÈ  r4   c                 ó   € R# rÊ  r©   rÆ  s   &&r2   rÇ  rÇ  b  rË  r4   c                 óD  € \         P                  P                  ^*4      p\        RV R7      p^p\	        V3W4      ^,           p\	        V^,
          3W4      p\         P
                  ! V4      \         P
                  ! VR4      ,           \         P
                  ! \         P                  ! V4      ^4      ,           p	\	        V^3WR7      p
Wš,          pV! Wx4      w  rÍp\        \        WWRR W‹W,VR7       \        \        WWVRR W²WÍR7       \        \        WWW‹RR W,VR7       R# )r(  rÍ  rÃ   r  NrÎ  r‡   )
r7   rß   rm  r$   r3   rE  rË  r  rd  r  )r0   r<  r£  rÑ  r1   rÍ  rè   rs   ré  rŸ  r¸  rŒ   r§  rÏ  rn   s   &&&&           r2   Útest_ptsvx_error_raise_errorsrÖ  \  sí   € ô �)‰)×
Ñ
 Ó
#€CÜ˜W¨EÔ2€EØ	€Aä# Q D¨(Ó8¸1Õ<€AÜ# Q q¥S F¨EÓ7€AÜ
�Š�‹
”R—W’W˜Q “^Õ#¤b§g¢g¬b¯gªg°a«j¸!Ó&<Õ<€AÜ(¨!¨Q¨°uÔF€FØ	�
€Añ   Ó%�L€BˆDô ”*˜e s¨ V¨Q¸ÈÕKÜ”*˜e¨¨#¨2¨°ÀÕKÜ”)˜U q¨C¨R¨&°tÀr×Jr4   c                 ó<   € \        R VP                  R7      ! W4      # rÄ  rÅ  rÆ  s   &&r2   rÇ  rÇ  {  rÈ  r4   c                 ó   € R# rÊ  r©   rÆ  s   &&r2   rÇ  rÇ  }  rË  r4   c           	      óâ  € \         P                  P                  ^*4      p\        RV R7      p^p\	        V3W4      ^,           p\	        V^,
          3W4      p\         P
                  ! V4      \         P
                  ! VR4      ,           \         P
                  ! \         P                  ! V4      ^4      ,           p	\	        V^3WR7      p
Wš,          pV! Wx4      w  rÍpVR8X  d^   ^ V^&   V! Wx4      w  rÍpV! WxV4      w  rÍpppppV^ 8”  d   Wæ8:  g   Q h\	        V3W4      pV! WxV4      w  rÍpppppV^ 8”  d   Wæ8:  g   Q hR# V! Wx4      w  rÍp^ V^ &   ^ V^ &   V! WxW²WÍR7      w  rÍpppppV^ 8”  g   Q hR# )r(  rÍ  rÃ   r  rh  rÎ  Nr‡   )r7   rß   rm  r$   r3   rE  rË  )r0   r<  r£  rÑ  r1   rÍ  rè   rs   ré  rŸ  r¸  rŒ   r§  rÏ  rn   r‘   r#  r¹  rº  s   &&&&               r2   Útest_ptsvx_non_SPD_singularrÚ  w  sw  € ô �)‰)×
Ñ
 Ó
#€CÜ˜W¨EÔ2€EØ	€Aä# Q D¨(Ó8¸1Õ<€AÜ# Q q¥S F¨EÓ7€AÜ
�Š�‹
”R—W’W˜Q “^Õ#¤b§g¢g¬b¯gªg°a«j¸!Ó&<Õ<€AÜ(¨!¨Q¨°uÔF€FØ	�
€Añ   Ó%�L€BˆDàˆs„{Øˆˆ!‰á# AÓ)‰ˆ�á-2°1¸«^Ñ*ˆ��5˜$  dà�aŒx˜DœIÐ%Ð%ô (¨¨¨hÓ<ˆÙ-2°1¸«^Ñ*ˆ��5˜$  dØ�aŒx˜DœIÐ%Ð%™Iñ $ AÓ)‰ˆ�Øˆˆ1‰Øˆˆ1‰Ù-2°1¸Ø68ô.AÑ*ˆ��5˜$  dà�aŒxˆŠxr4   zd,e,b,xc                 óf   € \        R VP                  R7      pV! WV4      w  rVrxršp\        W74       R# )rÍ  rÃ   NrÁ  )rs   ré  rŒ   r‘   rÍ  r§  rÏ  Úx_ptsvxr#  r¹  rº  rn   s   &&&&        r2   Útest_ptsvx_NAGrÝ  £  s0   € ô. ˜W¨A¯G©GÔ4€Eá/4°Q¸1«~Ñ,€BˆG˜D¨ä˜aÖ)r4   r%  c           
      ó&  € \         P                  P                  R 4      p\         P                  ! V 4      P                  ^d,          p^
^rT\        WD.WR7      p\        WE.WR7      pVP                  4       P                  V,           \         P                  ! W@R7      V ! R4      ,          ,           pV'       d^   \        V4       UU	u. uF  p\        W„4       F  q™NK  	  K  	  up	p\        V4       UU	u. uF  p\        W„4       F  q˜NK  	  K  	  up	p3p
Ms\        ^V^,           4       UU	u. uF  p\        V4       F  q™NK  	  K  	  up	p\        ^V^,           4       UU	u. uF  p\        V4       F  q˜^,
          NK  	  K  	  up	p3p
Wj,          p\        RV RR7      w  rÍrïpV! WKVR7      w  pp\        V^ 4       \        WaR7      V
,          p\        VV^ VR7       V! VVVR7      w  pp\        V^ 4       \        V4      V
,          p\        VV^ VR7       V! VVWqR7      w  p	p\        V^ 4       \        Wg4      p\        V	V^ VR7       V! WKWqR7      w  pp\        V^ 4       \        VV^ VR7       \         P                   P#                  V^4      pV! WKVVR7      w  pp\        V^ 4       \%        \'        ^V,          \         P                   P)                  V^R	7      ,
          4      V,          ^8  4       R
# u up	pi u up	pi u up	pi u up	pi )rÂ   r  rÃ   rË   rÔ  rÕ  rú  ra  )r£  r%  r  N)ÚppsvÚpptrfÚpptrsÚpptriÚppcon)r7   rß   rm  rä   rå   r3   rË  r~   r   rH  r$   r   r   r   r   r   rœ  r   r   r¢   r  )r0   r%  r1   r?  rè   ré   rf   rŒ   Úyr‘   rn  Úaprß  rà  rá  râ  rã  Úulrn   ÚaulÚuliÚauliÚbxÚxvr£  r#  s   &&                        r2   Ú!test_pptrs_pptri_pptrf_ppsv_ppconrì  Á  s…  € ô �)‰)×
Ñ
 Ó
%€CÜ�8Š8�E‹?×Ñ˜sÕ"€Dà�!€tÜ# Q F°%ÔA€AÜ# Q I°UÔD€Aà	�‰‹�
‰
�Q�œŸš Ô/±%¸³)Õ;Õ;€AßÜ! !œHÔ:™H�q¬e°A®k¨’©k‘™HÒ:Ü! !œHÔ:™H�q¬e°A®k¨’©k‘™HÒ:ð<‰ô " ! Q q¥SœMÔ<™M�q´5¸¶8¨a’±8‘™MÒ<Ü# A q¨¥sœmÔ>™m˜´U¸1¶X°�1—�±X‘™mÒ>ð@ˆà	
�€BÜ'7Ø4ØØô(Ñ$€D�˜uñ
 �Q %Ô(�H€BˆÜ��qÔÜ
�1Ô
" 4Õ
(€CÜ�B˜ !¨$Õ/á�a˜ 5Ô)�I€CˆÜ��qÔÜˆq‹6�$�<€DÜ�C˜ A¨DÕ1á�A�r˜1Ô*�G€A€tÜ��qÔÜ	ˆq‹€BÜ�A�r ¨Õ-á�A˜1Ô*�H€BˆÜ��qÔÜ�B˜ ¨Õ.ä�I‰I�N‰N˜1˜aÓ €EÙ˜ U°%Ô8�K€Eˆ4Ü��qÔÜŒC��%•œ"Ÿ)™)Ÿ.™.¨¨a˜.Ó0Õ0Ó1°%Õ7¸!Ñ;Ö<ùóC ;ùÛ:ùã<ùÛ>s   ÃK;Ã3LÄ+LÅ #Lc                 óV  € \         P                  P                  R 4      p\         P                  ! V 4      P                  ^d,          p^
p\        W3.WR7      p\        RV R7      w  rVV! R VRR7      p\        VR	,          ^ 4       V^ ,          pVR
,          p	VR,          p
V \        9   d$   \        V\         P                  ! V4      ^ VR7       \        W˜,          V	P                  4       P                  ,          V^ VR7       V! W‰^^4      p\        VR	,          ^ 4       V^ ,          pVR,          p	V \        9   d$   \        V\         P                  ! V4      ^ VR7       \        W˜,          V	P                  4       P                  ,          V^ VR7       \        VR,          V
^ VR7       R# )rÂ   r  rÃ   c                 ó   € R # ©Nr©   ©r‘   s   &r2   rÇ  Ú!test_gees_trexc.<locals>.<lambda>û  ó   € ™Dr4   FrÝ  ra  N)ÚgeesÚtrexcr‡   rc  ©r^   r^   r  r�   ©r7   rß   rm  rä   rå   r3   r$   r   r,   r   r   rË  r~   )r0   r1   r?  rè   rf   ró  rô  r  rž  rA  Úd2s   &          r2   Útest_gees_trexcrø  ñ  sA  € ä
�)‰)×
Ñ
 Ó
%€CÜ�8Š8�E‹?×Ñ˜sÕ"€Dà
€AÜ# Q F°%ÔA€Aä"Ð#4¸EÔB�K€Dá‘. !°Ô7€FÜ�˜•˜QÔàˆq�	€AØˆr�
€Aà	
ˆ4�€Bà”ÔÜ˜œ2Ÿ7š7 1›:¨A°DÕ9ä�A•E˜AŸF™F›HŸJ™JÕ&¨°¸Õ=á�1˜˜AÓ€FÜ�˜•˜QÔàˆq�	€AØˆr�
€Aà”ÔÜ˜œ2Ÿ7š7 1›:¨A°DÕ9ä�A•E˜AŸF™F›HŸJ™JÕ&¨°¸Õ=ä�A�d•G˜R a¨d×3r4   zt, expect, ifst, ilstc                ó    € Rp\        RV P                  R7      pV! W W^ R7      p\        VR,          ^ 4       V^ ,          p \        W0VR7       R# )z[
This test implements the example found in the NAG manual,
f08qfc, f08qtc, f08qgc, f08quc.
r.  rô  rÃ   )Úwantqr¶  Nr‡   )r$   r0   r   r   )rž  ÚifstÚilstÚexpectr?  rô  r  s   &&&&   r2   Útest_trexc_NAGrþ    sH   € ð< €DÜ˜W¨A¯G©GÔ4€Eá�1˜¨1Ô-€FÜ�˜•˜QÔàˆq�	€AÜ�F D×)r4   c                 óÈ  € \         P                  P                  R 4      p\         P                  ! V 4      P                  ^d,          p^
p\        W3.WR7      p\        W3.WR7      p\        RV R7      w  rgV! R WERRR7      p\        VR	,          ^ 4       V^ ,          p	V^,          p
VR
,          pVR,          pV	R,          V
R,          ,          pV	R,          V
R,          ,          pV \        9   dG   \        V	\         P                  ! V	4      ^ VR7       \        V
\         P                  ! V
4      ^ VR7       \        W¹,          VP                  4       P                  ,          V^ VR7       \        Wº,          VP                  4       P                  ,          V^ VR7       V! WšW¼^^4      p\        VR	,          ^ 4       V^ ,          p	V^,          p
V^,          pV^,          pV \        9   dG   \        V	\         P                  ! V	4      ^ VR7       \        V
\         P                  ! V
4      ^ VR7       \        W¹,          VP                  4       P                  ,          V^ VR7       \        Wº,          VP                  4       P                  ,          V^ VR7       \        V	R,          V
R,          ,          V^ VR7       \        V	R,          V
R,          ,          V^ VR7       R# )rÂ   r  rÃ   c                 ó   € R # rï  r©   rð  s   &r2   rÇ  Ú!test_gges_tgexc.<locals>.<lambda>I  rò  r4   F©r;  Úoverwrite_bra  N)ÚggesÚtgexcr‡   rÔ  rc  r�   rõ  rø  rö  )r0   r1   r?  rè   rf   rŒ   r  r  r  rý   rž  r   rA  Úd1r÷  s   &              r2   Útest_gges_tgexcr  >  s   € ä
�)‰)×
Ñ
 Ó
%€CÜ�8Š8�E‹?×Ñ˜sÕ"€Dà
€AÜ# Q F°%ÔA€AÜ# Q F°%ÔA€Aä"Ð#4¸EÔB�K€Dá‘. !°EÀuÔM€FÜ�˜•˜QÔàˆq�	€AØˆq�	€AØˆr�
€AØˆr�
€Aà	
ˆ4��1�T•7Õ	€BØ	
ˆ4��1�T•7Õ	€Bà”ÔÜ˜œ2Ÿ7š7 1›:¨A°DÕ9Ü˜œ2Ÿ7š7 1›:¨A°DÕ9ä�A•E˜AŸF™F›HŸJ™JÕ&¨°¸Õ=Ü�A•E˜AŸF™F›HŸJ™JÕ&¨°¸Õ=á�1˜˜q !Ó$€FÜ�˜•˜QÔàˆq�	€AØˆq�	€AØˆq�	€AØˆq�	€Aà”ÔÜ˜œ2Ÿ7š7 1›:¨A°DÕ9Ü˜œ2Ÿ7š7 1›:¨A°DÕ9ä�A•E˜AŸF™F›HŸJ™JÕ&¨°¸Õ=Ü�A•E˜AŸF™F›HŸJ™JÕ&¨°¸Õ=ä�A�d•G˜a �gÕ% r°¸Õ=Ü�A�d•G˜a �gÕ% r°¸×=r4   c                 óâ  € \         P                  P                  R 4      p\         P                  ! V 4      P                  ^d,          p^
p\        W3.WR7      p\        R
V R7      w  rVpV! R VRR7      p\        VR,          ^ 4       V^ ,          p	VR,          p
V	R,          pV \        9   d$   \        V	\         P                  ! V	4      ^ VR7       \        W©,          V
P                  4       P                  ,          V^ VR7       \         P                  ! V4      p^V^&   \        W|V	4      pV \        9   d   V! WÉW­R7      pMV! WÉW­V^,          R7      p\        VR,          ^ 4       V^ ,          p	V^,          p
V \        9   d$   \        V	\         P                  ! V	4      ^ VR7       \        W©,          V
P                  4       P                  ,          V^ VR7       \        V	R,          V^ VR7       R	# )rÂ   r  rÃ   c                 ó   € R # rï  r©   rð  s   &r2   rÇ  Ú!test_gees_trsen.<locals>.<lambda>y  rò  r4   FrÝ  ra  rÄ   ©rÅ   ÚliworkN)ró  ÚtrsenÚtrsen_lworkr‡   rc  rõ  r�   ©r7   rß   rm  rä   rå   r3   r$   r   r,   r   r   rË  r~   r   r    )r0   r1   r?  rè   rf   ró  r  r  r  rž  rA  r÷  ÚselectrÅ   s   &             r2   Útest_gees_trsenr  n  s‚  € ä
�)‰)×
Ñ
 Ó
%€CÜ�8Š8�E‹?×Ñ˜sÕ"€Dà
€AÜ# Q F°%ÔA€Aä/Ø(°ô 7Ñ€D�ñ ‘. !°Ô7€FÜ�˜•˜QÔàˆq�	€AØˆr�
€Aà	
ˆ4�€Bà”ÔÜ˜œ2Ÿ7š7 1›:¨A°DÕ9ä�A•E˜AŸF™F›HŸJ™JÕ&¨°¸Õ=ä�XŠX�a‹[€FØ€Fˆ1�Iä˜;°Ó2€Eà”ÔÙ�v !Ô1‰á�v !¸¸q½ÔBˆÜ�˜•˜QÔàˆq�	€AØˆq�	€Aà”ÔÜ˜œ2Ÿ7š7 1›:¨A°DÕ9ä�A•E˜AŸF™F›HŸJ™JÕ&¨°¸Õ=ä�A�d•G˜R a¨d×3r4   z*t, q, expect, select, expect_s, expect_sepg      ü?gÃõ(\�Â	@gR¸…ëQð?g²�ï§ÆKÇ?c                ó4  € RpRp\        RV P                  R7      w  r‰\        W’V 4      p
V P                  \        9   d   V! W WR7      pMV! W WV
^,          R7      p\	        VR	,          ^ 4       V^ ,          p V^,          pV P                  \        9   d   V^,          pV^,          pMV^,          pV^,          p\        W1V ,          VP                  4       P                  ,          VR7       \        V^V,          VR7       \        V^V,          VR7       R# )
zK
This test implements the example found in the NAG manual,
f08qgc, f08quc.
r.  ç{®Gáz„?rÃ   rÄ   r  r¶  N)r  r  r‡   )r$   r0   r    r,   r   r   rË  r~   )rž  r   r  rý  Úexpect_sÚ
expect_sepr?  Úatol2r  r  rÅ   r  rý   Úseps   &&&&&&        r2   Útest_trsen_NAGr  œ  sê   € ð` €DØ€EÜ)Ø ¨¯©ô1Ñ€Eô ˜;°Ó2€Eà‡w�w”.Ô Ù�v !Ô1‰á�v !¸¸q½ÔBˆÜ�˜•˜QÔàˆq�	€AØˆq�	€AØ‡w�w”.Ô Ø�1�IˆØ�Q�i‰à�1�IˆØ�Q�iˆä�F �E A§F¡F£H§J¡JÕ.°TÕ:Ü�H˜a !�e¨%Õ0Ü�J  C¥¨e×4r4   c           	      óN  € \         P                  P                  R 4      p\         P                  ! V 4      P                  ^d,          p^
p\        W3.WR7      p\        W3.WR7      p\        R	V R7      w  rgpV! R WERRR7      p	\        V	R
,          ^ 4       V	^ ,          p
V	^,          pV	R,          pV	R,          pV
R,          VR,          ,          pV
R,          VR,          ,          pV \        9   dG   \        V
\         P                  ! V
4      ^ VR7       \        V\         P                  ! V4      ^ VR7       \        WÊ,          VP                  4       P                  ,          V^ VR7       \        WË,          VP                  4       P                  ,          V^ VR7       \         P                  ! V4      p^V^&   \        VVW«4      pV^ ,          ^,           V^,          3pV! VW«WÍVR7      p	\        V	R
,          ^ 4       V	^ ,          p
V	^,          pV	R,          pV	R,          pV \        9   dG   \        V
\         P                  ! V
4      ^ VR7       \        V\         P                  ! V4      ^ VR7       \        WÊ,          VP                  4       P                  ,          V^ VR7       \        WË,          VP                  4       P                  ,          V^ VR7       \        V
R,          VR,          ,          V^ VR7       \        V
R,          VR,          ,          V^ VR7       R# )rÂ   r  rÃ   c                 ó   € R # rï  r©   rð  s   &r2   rÇ  Ú!test_gges_tgsen.<locals>.<lambda>ó  rò  r4   Fr  ra  rÄ   N)r  ÚtgsenÚtgsen_lworkr‡   rÔ  rc  r�   rõ  iùÿÿÿéúÿÿÿrø  r  )r0   r1   r?  rè   rf   rŒ   r  r  r  r  rý   rž  r   rA  r  r÷  r  rÅ   s   &                 r2   Útest_gges_tgsenr  ç  sc  € ä
�)‰)×
Ñ
 Ó
%€CÜ�8Š8�E‹?×Ñ˜sÕ"€Dà
€AÜ# Q F°%ÔA€AÜ# Q F°%ÔA€Aä/Ø(°ô 7Ñ€D�ñ ‘. !°EÀuÔM€FÜ�˜•˜QÔàˆq�	€AØˆq�	€AØˆr�
€AØˆr�
€Aà	
ˆ4��1�T•7Õ	€BØ	
ˆ4��1�T•7Õ	€Bà”ÔÜ˜œ2Ÿ7š7 1›:¨A°DÕ9Ü˜œ2Ÿ7š7 1›:¨A°DÕ9ä�A•E˜AŸF™F›HŸJ™JÕ&¨°¸Õ=Ü�A•E˜AŸF™F›HŸJ™JÕ&¨°¸Õ=ä�XŠX�a‹[€FØ€Fˆ1�Iä˜;¨°Ó5€Eð �1�X�a�Z˜˜q�Ð"€Eá�6˜1 ¨UÔ3€FÜ�˜•˜QÔàˆq�	€AØˆq�	€AØˆr�
€AØˆr�
€Aà”ÔÜ˜œ2Ÿ7š7 1›:¨A°DÕ9Ü˜œ2Ÿ7š7 1›:¨A°DÕ9ä�A•E˜AŸF™F›HŸJ™JÕ&¨°¸Õ=Ü�A•E˜AŸF™F›HŸJ™JÕ&¨°¸Õ=ä�A�d•G˜a �gÕ% r°¸Õ=Ü�A�d•G˜a �gÕ% r°¸×=r4   za, b, c, d, e, f, rans, lansc	                 ód  € R p	\        RVR7      p
V
! WW#WE4      w  r¼rÞp\        V^ 4       \        VR^ \        P                  ! V4      P
                  ^d,          RR7       \        VR^ \        P                  ! V4      P
                  ^d,          RR7       \        W¶V	RR	7       \        WÇV	R
R	7       R# )r.  ÚtgsylrÃ   rÈ   zSCALE must be 1.0©rÐ   r?  r+  rã  zDIF must be nearly 0zSolution for R is incorrect)r?  r+  zSolution for L is incorrectN)r$   r   r   r7   rä   rå   )rf   rŒ   r�   rs   ré  ri   ÚransÚlansr0   r?  r!  ÚroutÚloutrY   Údifrn   s   &&&&&&&&&       r2   Útest_tgsyl_NAGr(     sŸ   € ðH €Dä˜g¨eÔ4€EÙ#(¨¨q°QÓ#:Ñ €D�˜Dä��qÔÜ�E˜3 Q¬R¯XªX°e«_×-@Ñ-@ÀÕ-DØ/õ1ä�C˜ 1¬2¯8ª8°E«?×+>Ñ+>¸sÕ+BØ2õ4ä�D TØ9õ;ä�D TØ9÷;r4   rŽ   Úijobc                 óx  € V \         P                  8X  d   R MRp\         P                  P                  R4      p^
^re\	        VP                  R^
WU.4      P                  V 4      VP                  R^
WU.4      P                  V 4      RR7      vrxp	\	        VP                  R^
Wf.4      P                  V 4      VP                  R^
Wf.4      P                  V 4      RR7      vr«p	VP                  R^WV.4      P                  V 4      pVP                  R^WV.4      P                  V 4      p\        RV R7      pV! WzWÈW½WR7      w  pppppV^ 8X  g   Q R4       hVR	8¼  g   Q R
4       hV^ 8X  d7   \        VR	^ \         P                  ! V 4      P                  ^d,          RR7       MVR	8¼  g   Q R4       hV^8:  Ed   VR8X  d@   W,          VV
,          ,
          pVV,          pW�,          VV,          ,
          pVV,          pMžVR8X  d˜   \         P                  ! V4      V,          \         P                  ! V4      V,          ,           pVV,          pV\         P                  ! V
4      ,          V\         P                  ! V4      ,          ,           pRV,          V,          p\        XXVR	RR7       \        XXVR	RR7       R# R# )gü©ñÒMbP?g»½×Ùß|Û=l   OElÔt/ rù   )Úoutputr!  rÃ   )rŽ   r)  zINFO is non-zerorã  zSCALE must be non-negativezDIF must be 0 for ijob =0r"  zDIF must be non-negativerh  r~   zlhs1 and rhs1 do not match)r?  rÐ   r+  zlhs2 and rhs2 do not matchNiöÿÿÿr  r  )r7   r×  rß   rà   r   Úuniformr.   r$   r   rä   rå   rŸ  )r0   rŽ   r)  r?  r1   rç   rè   rf   rs   r6   rŒ   ré  r�   ri   r!  r%  r&  rY   r'  rn   Úlhs1Úrhs1Úlhs2Úrhs2s   &&&                     r2   Ú
test_tgsylr1  T  sl  € ð
 œBŸJ™JÔ&‰4¨E€DÜ
�)‰)×
Ñ
Ð 0Ó
1€CØˆr€qä�#—+‘+˜c 2¨ vÓ.×5Ñ5°eÓ<Ø—+‘+˜c 2¨ vÓ.×5Ñ5°eÓ<Øô!€H€Aˆ1ô �#—+‘+˜c 2¨ vÓ.×5Ñ5°eÓ<Ø—+‘+˜c 2¨ vÓ.×5Ñ5°eÓ<Øô!€H€Aˆ1ð 	�‰�B˜˜A˜6Ó"×)Ñ)¨%Ó0€AØ�‰�B˜˜A˜6Ó"×)Ñ)¨%Ó0€Aä˜g¨eÔ4€EÙ#(¨¨q°QØ/4ô$AÑ €Dˆ$��s˜Dð �1Œ9Ð(Ð(Ó(ˆ9Ø�CŒ<Ð5Ð5Ó5ˆ<Øˆq„yÜ˜˜S q¬r¯xªx¸«×/BÑ/BÀ3Õ/FØ ;ö	=ð �cŒzÐ5Ð5Ó5ˆzð ˆq…yØ�CŒ<Ø•8˜d Q�hÕ&ˆDØ˜•7ˆDØ•8˜d Q�hÕ&ˆDØ˜•7‰DØ�cŒ\Ü—<’< “? TÕ)¬B¯LªL¸«O¸dÕ,BÕBˆDØ˜•7ˆDØœ"Ÿ,š, q›/Õ)¨D´2·<²<À³?Õ,BÕBˆDØ˜•:˜a•<ˆDä˜˜d¨°BØ <õ	>ä˜˜d¨°BØ <÷	>ñ r4   Úmtypec                 óX  € V R 8X  d"   V\         9   d   \        P                  ! R4       \        P                  P                  R4      p^^rTV\        9   dC   VP                  WD3R7      VP                  WD3R7      R,          ,           P                  V4      pM"VP                  WD3R7      P                  V4      pV R8X  d   WfP                  ,           MWfP                  4       P                  ,           pVP                  WE3R7      P                  V4      pV  R2V  R2V  R23p\        W�R	7      w  ršpV
! WBR
7      pV	! WlVR7      w  rÞpV^ 8X  g   Q hV! WÞWrR7      w  ppV^ 8X  g   Q h\        P                  ! V4      P                  p\        VV,          V^dV,          V,          R7       R# )rn  zhetrs not for real dtypes.ì   *Mö/t|0 r)  r+   rm  r�  r‘  ÚtrsrÃ   rú  r  )rf   r  rŒ   r%  r¶  N)rã   r@   rA   r7   rß   rà   r,   r,  r.   r~   rË  r$   rä   rå   r   )r2  r0   r%  r1   rè   ré   rŸ  rŒ   rH   r�  r‘  r5  rÅ   r"  r  rn   r‘   rå   s   &&&               r2   Útest_sy_hetrsr6  ‡  sk  € ð �„}˜¤+Ô-Ü�ŠÐ0Ô1Ü
�)‰)×
Ñ
Ð 0Ó
1€CØ�!€tØ”ÔØ�[‰[˜q˜fˆ[Ó%¨¯©¸!¸¨Ó(@ÀÕ(CÕC×KÑKÈEÓR‰à�K‰K˜a˜VˆKÓ$×+Ñ+¨EÓ2ˆà˜D”=ˆ�C‰CŽ a¯&©&«(¯*©*¥n€AØ�‰˜!˜ˆÓ#×*Ñ*¨5Ó1€AØˆg�SˆM˜e˜W IÐ.°5°'¸°Ð=€EÜ*¨5Ô>Ñ€C�CÙ�aÔ%€EÙ˜!°Ô6�O€CˆtØ�1Œ9Ðˆ9Ù�C aÔ5�G€A€tØ�1Œ9Ðˆ9Ü
�(Š(�5‹/×
Ñ
€CÜ�A�a•C˜  Q¥ s¥×+r4   c                 ó–  € VR 8X  d"   V \         9   d   \        P                  ! R4       \        P                  ! 4       R8X  d"   V \
        9   d   \        P                  ! R4       \        P                  P                  R4      p^pVP                  WD34      VP                  WD34      R,          ,           p\        P                  ! V \        P                  4      '       d   VP                  pVP                  V 4      pVR8X  d   WUP                  ,           MWUP                  4       P                  ,           pV R2V R23p\        W`R	7      w  rxV! WQR
7      w  ršpV^ 8X  g   Q hV! WšVR7      w  rËV^ 8X  g   Q h\        P                   ! V 4      P"                  p\        P$                  P'                  V4      pV'       dG   \)        \        P*                  ! V4      \        P*                  ! V4      ^dV,          V,          R7       R# \)        \        P,                  ! V4      \        P,                  ! V4      ^dV,          V,          R7       R# )rn  zhetri not for real dtypes.z	win-arm64z1Test segfaulting on win-arm64 in CI, see gh-23133r4  r+   rm  r�  r@  rÃ   rú  )rf   r  r%  r¶  N)rã   r@   rA   Ú	sysconfigÚget_platformr,   r7   rß   rà   rš  r›  rù   r.   r~   rË  r$   rä   rå   rœ  r   r   r   r   )r0   r%  r2  r1   rè   rŸ  rH   r�  r@  r"  r  rn   ÚA_invrå   r¦   s   &&&            r2   Útest_sy_he_trir;  ¡  s“  € ð �„}˜¤+Ô-Ü�ŠÐ0Ô1Ü×ÒÓ ;Ô.°5¼NÔ3JÜ�ŠÐGÔHä
�)‰)×
Ñ
Ð 0Ó
1€CØ
€AØ�
‰
�A�6Ó˜SŸZ™Z¨¨Ó/°Õ2Õ2€AÜ	‡}‚}�UœBŸK™K×(Ò(Ø�F‰FˆØ	�‰�‹€AØ˜D”=ˆ�C‰CŽ a¯&©&«(¯*©*¥n€AØˆg�SˆM˜e˜W C˜=Ð(€EÜ Ô3�H€CÙ˜!Ô)�O€CˆtØ�1Œ9Ðˆ9Ù˜¨eÔ4�K€EØ�1Œ9Ðˆ9Ü
�(Š(�5‹/×
Ñ
€CÜ
�)‰)�-‰-˜Ó
€CßÜœŸš ›¬¯ª°«¸3¸q½5À½9×EäœŸš ›¬¯ª°«¸3¸q½5À½9×Er4   r•   z
uplo, m, nc                 ó¢  € \         P                  P                  R 4      pVP                  W#3R7      P                  V4      p\	        RV34      w  r‰V! WWR7      p
VR8X  d   \         P
                  ! V4      M\         P                  ! V4      pVR8X  d&   \         P                  ! \        W#4      4      p^W{V3&   V	! W4      p\        W¬RR7       R# )l   8#ìqà9í
r)  )r_  rE  ri  ç�íµ ÷ÆÀ>rÏ   N)Úlantrrž   )
r7   rß   rà   r.   r$   r   r   rå  rq  r   )r   r_  rç   rè   rE  r0   r1   rŸ  r>  rž   rU  rT  r¦   s   &&&&&&       r2   Ú
test_lantrr?  ¿  s©   € ô �)‰)×
Ñ
Ð 1Ó
2€CØ�
‰
˜˜ˆ
Ó×&Ñ& uÓ-€AÜ#Ð$6¸¸Ó=�L€EÙ
�˜dÔ
.€Cð ˜c”kŒ�Š�Œ
¤r§w¢w¨q£z€AØˆs„{Ü�IŠI”c˜!“iÓ ˆØˆˆQˆ$‰Ù
�‹.€Cä�C 4×(r4   c           	      ó  € \         P                  P                  R 4      p^
^^rTpVP                  W334      VP                  W334      R,          ,           pVP                  \         P                  ! ^ VP                  ^ ^
4      V4      4      pWg,          p\         P                  ! V \         P                  4      '       d   VP                  pVP                  V 4      p^ V\         P                  ! W4^,           4      &   ^ V\         P                  ! W5) ^,
          4      &   \        WTV4      p^V,          V,           ^,           p	\         P                  ! W“3V R7      p
WŠVR1R3&   \         P                  P                  YaR8X  d   \         P                   M^R7      p\#        R
V
34      w  rÍV! W¥V4      w  rïpV! WWNVVR7      ^ ,          p\#        RV34      w  ppV! V4      ^ ,          pV! VW±R7      ^ ,          p\%        VV^R	7       R# )ì   €2 r+   rÃ   Nr8  r�  r�  )r   ru  rt  r^  r  r£  r’  rÏ   )ÚgbconÚgbtrfr“  )r7   rß   rà   r—  r˜  r™  rš  r›  rù   r.   r   r   r   r   rœ  r   r�  r$   r   )r0   r   r1   rè   rt  ru  rŸ  r   ÚtmpÚLDABr^  r£  rB  rC  Úlu_bandr  r6   rU  r”  r•  r¤  r¦   s   &&                    r2   Ú
test_gbconrG  Ô  s®  € ô �)‰)×
Ñ
 Ó
,€Cð �A�qˆ2€AØ�
‰
�A�6Ó˜SŸZ™Z¨¨Ó/°Õ2Õ2€Aà�\‰\œ"Ÿ+š+ a¨¯©°a¸Ó)<¸aÓ@ÓA€FØ…K€AÜ	‡}‚}�UœBŸK™K×(Ò(Ø�F‰FˆØ	�‰�‹€AØ$%€A„b‡o‚o�a˜a�Ó Ñ!Ø%&€A„b‡o‚o�a˜˜q�Ó!Ñ"ô �R˜QÓ
€CàˆR�4�"�9�q�=€DÜ	�Š�4�) 5Ô	)€BØ€r�sˆA€v�Jä�I‰I�N‰N˜1°C¬K¤"§&¢&¸QˆNÓ?€EÜ#Ð$6¸¸Ó>�L€EÙ˜R RÓ(Ñ€G�1Ù
�T R¸$ØôØõ €Cô $Ð$6¸¸Ó=�L€Eˆ5Ù	ˆq‹�!�€BÙ
��EÔ
% aÕ
(€Cô �C˜ 1×%r4   c                 ó2  € \         P                  P                  R 4      p^
^^rTpVP                  W334      VP                  W334      R,          ,           p\         P                  ! V \         P                  4      '       d   VP
                  pVP                  V 4      p^ V\         P                  ! W4^,           4      &   ^ V\         P                  ! W5) ^,
          4      &   \        WTV4      p\        RV34      w  r‰V	! W4      p
V! WWG4      p\        WºRR7       R# )rA  r+   r=  rÏ   N)Úlangbrž   )r7   rß   rà   rš  r›  rù   r.   r   r   r   r$   r   )r0   r   r1   rè   rt  ru  rŸ  r^  rI  rž   r¦   rU  s   &&          r2   Ú
test_langbrJ  ú  sá   € ô �)‰)×
Ñ
 Ó
,€Cð �A�qˆ2€AØ�
‰
�A�6Ó˜SŸZ™Z¨¨Ó/°Õ2Õ2€AÜ	‡}‚}�UœBŸK™K×(Ò(Ø�F‰FˆØ	�‰�‹€AØ$%€A„b‡o‚o�a˜a�Ó Ñ!Ø%&€A„b‡o‚o�a˜˜q�Ó!Ñ"Ü	�B˜AÓ	€Bä#Ð$6¸¸Ó=�L€EÙ
�‹.€CÙ
�˜"Ó
!€CÜ�C 4×(r4   Ú	compute_vc                 óø  € \         P                  P                  R 4      p^
pVP                  W0R7      pVP                  V^,
          V R7      p\         P                  ! VR4      \         P                  ! V4      ,           \         P                  ! V^4      ,           p\         P                  P                  V4      p\        R4      pV! WEVR7      w  ršpV^ 8X  g   Q h\        \         P                  ! V	4      \         P                  ! V4      4       V'       dc   \         P                  ! V 4      P                  p\        V
\         P                  ! V	4      ,          V
P                  ,          WlR,          R7       R# R# )l   J*Os{U•rÃ   Ústevd)rK  rª  r¶  Nr‡   )r7   rß   rà   rE  rœ  Úeigvalshr$   r   rF  rä   rå   r~   )r0   rK  r1   rè   rs   ré  rŸ  r¦   rM  ri  r:  rn   rå   s   &&           r2   Ú
test_stevdrO    s  € ô �)‰)×
Ñ
Ð 2Ó
3€CØ
€AØ�
‰
�1ˆ
Ó"€AØ�
‰
�1�q•5 ˆ
Ó&€AÜ
�Š��2‹œŸš ›Õ#¤b§g¢g¨a°£mÕ3€AÜ
�)‰)×
Ñ
˜QÓ
€Cä˜WÓ%€EÙ�q yÔ1�J€Aˆ$Ø�1Œ9Ðˆ9Ü”B—G’G˜A“J¤§¢¨£Ô-ßÜ�hŠh�u‹o×!Ñ!ˆÜ˜œBŸGšG A›J�¨¯©Õ,¨a¸3µh×?ñ r4   )r‚  )r]   rZ   ©é   rQ  )r�  Ú1ÚO)r^   r]   rÕ  rB  )g)\�Âõ(@g¤p=
×£ø¿gffffffò?g
×£p=
ÿ¿)gìQ¸…ëÑ?g¸…ëQ¸ú¿g®Gázî?gö(\�Âõè¿)g¸…ëQ¸Þ¿g¸…ëQ¸Àg®Gáz®ï?gáz®GáÊ¿)g…ëQ¸ñ?g…ëQ¸…ó?gHáz®Gé?g)\�Âõ(ä?)gÍÌÌÌÌÌÀgq=
×£p@g333333÷¿r	  )ç×£p=
×ã?g�Âõ(\�Àr  g�Âõ(\�À)g cîZBþ#@gI.ÿ!ýv@g?ÆÜµõ?r  )gþCúíëÀÑ?gÙ=yX¨5ã¿gcÙ=yXÀ¿gåa¡Ö4ïÀ?)gB`åÐ"ÛÉ?gû:pÎˆÒž¿gÁÊ¡E¶óÑ?gn4€·@‚æ?)g[B>èÙ¬Ò?gèÙ¬ú\mÕ?gJ{ƒ/L¦ä?g„O¯”eÈ?)gˆc]ÜF¸¿gê•²q¬×¿gû\mÅþ²å?çfˆc]ÜFá¿)gØ�sF”öÚ¿gîZB>èÙà?g0L¦
F%¥?gq=
×£p­¿)g·Ñ Þé?g½R–!ŽuÕ?gu“VÅ¿g¥½Á&SÙ¿)g‚âÇ˜»–È?gV-²é¿g	ž^)Ëp?gçŒ(íâ¿)gÜFx$ì¿gã6À[ Ù¿gUÁ¨¤N@³¿g­iÞqŠŽÐ?)g1¬ZdË?gßO�—nÓ¿gÎˆÒÞàé?gÙ_vOà?)g}?5^ºIØ¿g5ï8EGrÕ?gi o�Åã?g7À[ Aã¿)gÍÌÌÌÌÌ @r  çffffffþ?rÍ   )r@  r	  ç      ÀçÍÌÌÌÌÌì¿çffffff@)ç333333@çÍÌÌÌÌÌ@rÌ   ç      ÀrË  )r	  rË  rX  rY  )rZ  r[  r_   r  gÏÜCÂ÷>ð¿r‡   )r‡   rV  r`   )rZ   r[   r\   r]   r]   ç      à¿gš™™™™™	Àgffffff&ÀrÔ  rc  r  ù       @      ð¿ù       @      ð?ù      ð¿      ð?ù      ð?      ð¿)r^  r_  r`  ra  )ùÍÌÌÌÌÌô¿ÍÌÌÌÌÌô?rb  ùÍÌÌÌÌÌô¿ffffff
@ù333333Ó¿333333@ùffffff
ÀÍÌÌÌÌÌô?ù      ð?       Àù      ð?      ð?)rf  rg  ù       @      Àrg  )rb  rc  rd  re  )rf  rg  rh  rg  y ‘~û:põ¿ffffffÒ?)r_  r`  ra  y333333@      Àyš™™™™™@š™™™™™@y333333@3333332@yš™™™™™À333333Àyffffff-Àffffff#@y      À333333ã¿yfffffæ?@ÍÌÌÌÌÌÀy333333Àš™™™™™"@y      ð¿š™™™™™ù?y      Àffffff(@y      @      ð¿y      ð?       @y      @      @y      ð¿       Ày       @       À)rR  r�  rS  ))r[   r_   )r_   r[   rP  )r\   r2  é   é   r]   )r  r  é   r`   )r\   ra   rj  é   rU   )r]  gKÈ=›Uå¿r©  r  )rl  é)   é.   é   )y      0@      0@y      2@      "Àù      ð?      À)rl  ra   rU   r\   )rg  r^  rp  y      P@      0@y      0À      @Ày     @W@      O@y     €N@     €PÀy     €S@      TÀy     ÀQ@     €RÀy      ,@      ;Ày     €A@      .@y      À       À)g¤p=
×£@rÂ  gq=
×£pñ?rT  )g\�Âõ(\	@g
×£p=
ï¿gš™™™™™á?)gÅ�1w- @gR' ‰°áÿ?g/n£¼ð?g&äƒžÍª¿?)g cîZB>ä?g–C‹lçûã?gû:pÎˆÒÚ¿gÉå?¤Ç?)gaTR' ‰è?g‡ÙÎ÷SÛ¿g}Ð³Yõ¹Ú?g%ušÎ¿)gû\mÅþ²»¿gèÙ¬ú\mã?g×òAÏfÝ?gL¦
F%uä¿)g‚âÇ˜»–€¿gÅ�1w-!Ï?g333333å?g—�z6«æ?)r‚  )r_   r^   rõ  )ÚevÚevdÚevrÚevx)rU   r2  éd   r³  )rª  g)\�Âõ(¼¿r  g¸…ëQ¸ž?)rã  çš™™™™™¹¿r  çffffffÖ?)rã  gÍÌÌÌÌÌä¿rv  gš™™™™™É?)rã  rã  rã  rv  )rv  çôlV}®ä¿gVŸ«­Ø_¶?gî|?5^ºÉ?)g»¸�ðÐ?rv  gÐÕVì/»·?g;ßO�—nÖ?)rã  rã  rª  ggÕçj+ö‡¿)ù      À      Ày
×£p=
×?
×£p=
×¿yR¸…ëQÈ¿¸…ëQ¸Þ?y)\�Âõ(ì?      Ð¿)rÓ  ù      À       @y¸…ëQ¸ž¿
×£p=
ç¿yq=
×£pÍ¿¤p=
×£À?)rÓ  rÓ  ù       @      ð¿y®Gázî?ö(\�Âõà?)rÓ  rÓ  rÓ  ù      @      À)rz  y¡ø1æ®%Ä¿³q¬‹Ûæ?yësµûËÆ??ÆÜµ„|È¿yHáz®GÙ??ÆÜµØ?)rÓ  r{  y«ÏÕVì/ñ?ö—Ý“‡…Â?yj¼t“Ð?vàœ¥½Õ¿)rÓ  rÓ  r|  yB>èÙ¬úÌ?=›UŸ«­ì?)rÓ  rÓ  rÓ  ry  )g/Ý$�•é?g“©‚QI½¿gú~j¼t“x?gŒJê4¡?)rã  ç5ï8EGr¹¿gGrùé·Ï?gyX¨5Í;Ö?)rã  gÉå?¤ß¾ä¿r}  gtµûËîÉ?)rã  rã  rã  gµ¦yÇ¹¿)gØ�sF”öä?g_˜LŒº?g®GázÖ?gUÁ¨¤N@å?)goð…ÉTÁà?g¾0™*•â¿g»'µ¦ã¿gz6«>W»¿)g¸¯çŒ(á¿g&äƒžÍªÓ¿gbX9´ÈÒ¿g-!ôlVç?)g·bÙ=y¸?gÛŠýe÷äç?rx  gï8EGrù¿?)rw  gÍÌÌÌÌÌÜ?gìQ¸…ëÁ¿gÃõ(\�ÂÅ¿)g
×£p=
·?gìQ¸…ë±?rU  rw  )g)\�Âõ(Ü¿g…ëQ¸Õ¿g¸…ëQ¸ž¿gÃõ(\�ÂÅ?)r  g{®GázÔ¿g¤p=
×£À¿g)\�Âõ(¼?)rU   r   r   rU   )yq¬‹Ûh ÀäÉåÿÀyfˆc]ÜF×?õ¹ÚŠýe×¿yªñÒMbÈ¿Â&S£Þ?yé&1¬ì?äÉå?Ð¿)rÓ  y      À?5^ºI @y�äòÒoŸ¿¾0™*ç¿yZd;ßOÍ¿‘~û:pÎÀ?)rÓ  rÓ  yx$(þ@4€·@‚âï¿yÀ[ Añí?¥½Á&á?)rÓ  rÓ  rÓ  y?ÆÜµ@�St$—ÿÀ)y?ÆÜµê¿½R–!ŽuÁ¿y2U0*©°¿ëâ6À[Ø?yV-²Ñ?Ù=yX¨µ¿y†8ÖÅm4°?¡ø1æ®%Ì¿)y�St$—ÿ°?­ú\mÅþÒ¿yƒÀÊ¡EÎ?øSã¥›Äà?y‘~û:pÎâ¿	ŠcîÚ¿yÇK7‰A`µ?À[ AñË?)yû:pÎˆ¢¿ú~j¼t“Ô¿yÌH¿}Ô?Á9#J{ƒá¿y’ËH¿}­?	ŠcîZâ¿yÔ+eâXw?à-� øÙ¿)y"ýöuàœ�?	ŠcîÒ?y?ÆÜÕ¿©¤N@a³¿yR¸…ëQÈ¿{®GázÄ¿yh"lxz¥ê?EGrùéÇ¿)y4¢´7øÂÀÓÞà“)ÀyS–!ŽuqÀF%uš@yµ¦yÇÕ¿Gx$(ð?y3Ä±.n£ô?°rh‘í|ë¿)yvàœ¥½Õ?¦
F%uø¿yÃdª`TRø?I�€&Â†Û¿yÁ¨¤N@þ?ö—Ý“‡…Ày4€·@‚â
@	ž^)Ëä?)y³êsµ{
@ Òo_ÎÀy§èH.ÿ@|ò°Pkš@yí¾0™*ì?*:’ËHñ¿y]mÅþ²{ä?®Gáz®÷¿)y)í¾0™ñ¿[±¿ìž<ê?yI.ÿ!ýöü?¦›Ä °rù¿yq¬‹Ûh 
@õÛ×�sFõ?y�1w-!ù?Üh o�„À)rÊ   rÈ   rÈ   rÉ   )rã  r@  rÊ   rÈ   )rã  rÈ   r@  rÈ   )rã  rã  rã  g      @)rÈ   rÈ   rÈ   rÈ   )rã  rã  rã  rÊ   )ç      ÀrÌ   rÈ   g      (@)g      "ÀrÉ   ç       Àr  )r~  rÉ   r  rÍ   )ç      ÀrÌ   r\  g      3@)rÉ   rÈ   rÈ   r@  )rã  rÈ   rÉ   rÈ   )rã  rã  rÈ   rÈ   )rã  rã  rã  rÉ   )rÈ   rÈ   rÈ   rÉ   )rã  rÈ   rÊ   rÈ   )rã  rã  rã  rÈ   )r€  rË   rã  rÌ   )rW  rÈ   g       Àrã  )r  rÉ   ç      ÀrË   )r�  rÉ   rã  rË   )r  rÉ   r  r  )r  rÈ   r@  rÈ   )r  rÈ   r  rÊ   )rÊ   r  rÈ   r  )rÈ   r@  r  rÈ   )r  rÈ   rÉ   r  )rÈ   r  rÈ   rÈ   )rh  r~   )r   rU   rZ   r[   r\   rü  ))ri  r]   r2  )ri  r2  r2  )r\  r2  r]   )r\  r2  r2  )�Ú	functoolsr   r8  Únumpy.testingr   r   r   r   r   r	   r@   r
   r  Únumpyr7   r   r   r   r   r   r   r   r   Úscipy.linalgr   r9   r   r   r   r   r   r   r   r   r   r   r   Úscipy.linalg._basicr   rN   r    Úscipy.statsr!   r"   Úscipy.sparseÚsparsern  r#   r8   ÚImportErrorr$   rM   r%   Úscipy.__config__r&   Úblas_providerÚblas_versionr×  rK  rã   rØ  Ú
complex128r,   râ   r3   rK   rQ   rS   r³   rÀ   r3  r4  r  r  r$  r6  rY  r¦  r²  rÀ  rÑ  rÙ  rÛ  ró  r  r$  r,  r2  r=  rF  rU  rh  rq  rw  r~  rƒ  r‹  r•  r—  rº  r¾  rÈ  rÐ  ÚskipifrÙ  rà  rH  rö  rü  rÿ  rˆ   r  r  r"  r%  r(  r  r0  r3  r5  r:  rB  rJ  rP  rR  rT  rX  rg  rj  rx  r}  r…  r¡  r»  r½  r¿  rÂ  rÒ  rÖ  rÚ  rÝ  rì  rø  rþ  r  r  r  r  r(  r1  r6  r;  rD   r?  rG  rJ  rO  r©   r4   r2   Ú<module>r�     s  ðõ
 Û ÷/÷ /ó Ý *ã ÷!÷ !ó !÷F÷ F÷ Fó Få *Ý .ß 2å ðÝ0õ 1Ý ,å #Ø#Ð #€�ØÐ+Õ,¨VÕ4°VÕ<€ØÐ*Õ+¨FÕ3°IÕ>€à�z‰z˜2Ÿ:™:Ð&€Ø—,‘, §¡Ð.€Ø	�~Õ	%€ò*òOò..÷]-ñ ]-÷@
ñ 
÷p9ñ p9ðf ‡�×Ñ˜ &Ó)Ø‡�×Ñ˜Ò"BÓCñó Dó *ð÷-ñ -÷*;ñ ;÷(;ñ ;÷DK/ñ K/ð^ ‡�×Ñ˜ &Ó)Ø‡�×Ñ˜¢Ó1Ø‡�×Ñ˜ # s Ó,Ø‡�×Ñ˜ # s Ó,Ø‡�×Ñ˜˜q "˜gÓ&ñ )ó 'ó -ó -ó 2ó *ð
 )òF)ò.'4òT'6òT4÷8AGñ AG÷HLñ Lò^.?òbAò63ò>1ò>FòD&DòR7!òt7:òt&8òR3ò6Dò@"DòJDò4 L÷FUKñ UKòp%PòP%PòP*/òZ<ð ‡�×Ñ�DØKð ó MñKóMðKò$:ð> ‡�×Ñ˜ &¨&Ð!1Ó2Ø‡�×Ñ˜ +Ó.Ø‡�×Ñ˜¡ q£Ó*Ø‡�×Ñ˜¡ q£Ó*Ø‡�×Ñ˜¡ q£Ó*Ø‡�×Ñ˜ ! Q Ó(Ø‡�×Ñ˜ ! Q Ó(ób&ó )ó )ó +ó +ó +ó /ó 3ðb&ðJ ‡�×Ñ˜ +Ó.ñ ó /ð ðF ‡�×Ñ˜(Ø! 1˜+Ø! 1˜+Ø! 1˜+Ø! 1˜+Ø! 1˜+Ø! 1˜+ð'óñ1óð1ð ‡�×ÑÐ9ØŸ8š8Ò%?Ú%?Ú%@Ú%=Ú%?Ú%?ð%Aó Bð Ÿ8š8Ò$DÓEØŸ8š8Ò%GÚ%FÚ%EÚ%HÚ%GÚ%Gð%Ió Jð Ÿ8š8Ò%GÚ%HÚ%FÚ%Gð%Ió JðKð LóMñ$,ó%Mð$,ð  ‡�×Ñ˜ &Ó)ñXKó *ðXKðv ‡�×ÑÐLØŸ8š8Ò$9Ó:ØŸXšXÒ&@ÓAØŸXšXÒ&;Ó<ØŸXšXÒ&9Ó:ØŸXšXÒ&BÓCØŸXšX¢lÓ3ØŸXšX¢oÓ6ØŸXšX¨¨S zØ(,¨d |Ø(+¨T {Ø(+¨U |Ø(+¨T {ð	')ó *ð  ŸXšX¨¨A wØ()¨2 wØ()¨2 wØ(*¨B xØ(*¨A wð	'0ó 1ð2ð&  ŸXšXÒ&GÓHØŸXšXò '4ó 5ð  ŸXšXÒ&FÓGàŸXšXò 'Aó BàŸXšXò ':ó ;àŸXšXÒ&?Ó@ØŸXšX¢oÓ6ØŸXšX¨°*Ð'=Ø(3°\Ð'BØ(4°iÐ'@Ø(3°[Ð'AØ(1°:Ð'>ð	'@ó Að
  ŸXšX¨°Ð'7Ø(.°Ð'7Ø(.°Ð'8Ø(/°Ð'8Ø(.°Ð'7ð	'9ó :ð%ð%)ó* ñV óW* ðV ð( ‡�×Ñ˜ &Ó)Ø‡�×Ñ˜¢Ó1Ø‡�×Ñ˜˜q "˜gÓ&ñ)ó 'ó 2ó *ð)ð2 ‡�×Ñ˜ &Ó)Ø‡�×Ñ˜Ò"BÓCñó Dó *ðð ‡�×Ñ˜Ù˜[¨;Õ6¸Ó?óAñ,&óAð,&ð^ ‡�×Ñ˜Ù˜[¨;Õ6¸Ó?óAñ0óAð0ð ‡�×Ñ˜Ù˜[¨;Õ6¸Ó?óAñMóAðMð& ‡�×ÑÐAØŸ(š(Ò#5Ó6ØŸ(š(¢?Ó3ØŸ(š(Ò#4Ó5ØŸ(š(Ò#8Ó9ØŸ(š( Q¨ G¨a°¨V°a¸°V¸bÀ"¸XØ%&¨ Gð$-ó .àŸ(š( S¨! H¨q°"¨g¸¸2°wÀÀQÀØ%&¨ Gð$-ó .ðð Ÿ(š(Ò#3Ó4ØŸ(š(Ò#>Ó?ØŸ(š(£=Ó1ØŸ(š(Ó#5Ó6ØŸ(š(¡V©WÐ$5¹ÁÐ7GÙ%+©VÐ$4±v¹vÐ6Fð$Hó IàŸ(š( T©5 M°D¸$°<À$ÈÀØ%)¨4 Lð$2ó 3ð	ðEó ñ&1ó'ð&1ò.ð@ ‡�×ÑÐ)Ù˜V [°;Õ%>Ó?óAà‡�×Ñ˜¡e¨A£hÓ/ñ&ó 0óAð&ð: ‡�×ÑÐ)Ù˜V [°;Õ%>Ó?óAà‡�×Ñ˜¡e¨A£hÓ/ñó 0óAðð ‡�×ÑÐ)Ù˜V [°;Õ%>Ó?óAà‡�×Ñ˜¡e¨A£hÓ/ñNó 0óAðNð ‡�×ÑÐ)Ù˜V [°;Õ%>Ó?óAà‡�×Ñ˜¡e¨A£hÓ/ñó 0óAðð ‡�×ÑÐ:ØØŸ8š8Ó$;Ó<ØŸ8š8Ó$5Ó6ØŸ8š8Ó$DÓEØŸ8š8Ó%FÛ%GÛ%GÛ%Fð%Hó Ið	Jð ó	ñ=ó	ð=ð ‡�×Ñ˜ &Ó)Ø‡�×Ñ˜Ó(@ÓAñ=$ó Bó *ð=$ò@.ð ‡�×Ñ˜Ó#>Ó?Ø‡�×Ñ˜  t Ó-ñ	Ló .ó @ð	Lð ‡�×Ñ˜ D¨% =Ó1Ø‡�×Ñ˜  t Ó-ñ
Ló .ó 2ð
Lð ‡�×Ñ˜ 6Ó*Ø‡�×Ñ˜Ó0Ó1ñ	'ó 2ó +ð	'ð ‡�×Ñ˜ 6Ó*ñ+Có +ð+Cð\ ‡�×Ñ˜ &Ó)Ø‡�×Ñ˜¨¨t }Ó5Ø‡�×Ñ˜ # s Ó,ñ7@ó -ó 6ó *ð7@ðt ‡�×Ñ˜ &Ó)Ø‡�×Ñ˜¨¨1 vÓ.Ø‡�×Ñ˜ # s Ó,ñ-Bó -ó /ó *ð-Bð` ‡�×Ñ˜ &¨¥(Ó+Ø‡�×Ñ˜¨¨t }Ó5Ø‡�×Ñ˜ # s Ó,ñ-<ó -ó 6ó ,ð-<ð` ‡�×Ñ˜ØŸ8š8Ò$9Ó:ØŸ8š8Ò$?Ó@ØŸ8š8Ò$9Ó:ØŸ8š8 c¨3 Z°#°t°¸sÀD¸kØ&(¨% [°3¸°+ð%?ó @àŸ8š8 b¨! W¨q°"¨g¸¸2°wÀÀRÀØ&(¨! Wð%.ó /ð0ð Ÿ8š8Ò$EÓFØŸ8š8ò %>ó ?àŸ8š8Ò$DÓEØŸ8š8 h°
Ð%;Ø&1°;Ð%?Ø&2°HÐ%=Ø&1°;Ð%?Ø&/°Ð%<ð	%>ó ?ð
 Ÿ8š8 f¨fÐ%5¸ÀÐ7GØ&,¨gÐ%6¸À&Ð8IØ&,¨fÐ%5ð%7ó 8ð9ð:ó;ñ()ó);ð()ð ‡�×ÑÐ)©3¨v°{Ø1<õ8=ó ,>ó ?à‡�×ÑÐ,ØñNðOð Ñ ?Ð@ðBóCñ
1:óCó?ð1:ðh ‡�×ÑÐ)©3¨v°{Ø1<õ8=ó ,>ó ?à‡�×ÑÐ,ØñNðOð Ñ ?Ð@ðBóCñ
KóCó?ðKð( ‡�×ÑÐ)©3¨v°{Ø1<õ8=ó ,>ó ?à‡�×ÑÐ,ØñNðOð Ñ ?Ð@ðBóCñ
"óCó?ð"ðJ ‡�×Ñ˜ØŸ8š8Ò$6Ó7ØŸ8š8¢OÓ4ØŸ8š8 a¨ W¨q°!¨f°q¸!°f¸rÀ2¸hØ&'¨ Wð%.ó /àŸ8š8 c¨1 X°°2¨w¸¸B¸Ø&(¨! W¨q°"¨gð%7ó 8ð	9ð Ÿ8š8Ò$4Ó5ØŸ8š8Ò$?Ó@ØŸ8š8¡h±	Ð%:Ù&.±Ð%9Ù&.±Ð%9Ù&.±Ð%9ð%;ó <ð Ÿ8š8 f©gÐ%6Ø&,¨fÐ%5Ø&,¨fÐ%5Ø&,¨fÐ%5ð%7ó 8ð	9ð:ó;ñ"
*ó#;ð"
*ð ‡�×Ñ˜ 5¨$ -Ó0Ø‡�×Ñ˜ &Ó)ñ+=ó *ó 1ð+=ð\ ‡�×Ñ˜ &Ó)ñ!4ó *ð!4ðH ‡�×ÑØØ‡h‚hÓ)Û)Û*Û)ð+ó ,ð 	‡h‚hÓ2Û1Û1Û1ð3ó 4ð ˆðð 	‡h‚hÓJÛKÛHÛHðJó Kð 	‡h‚hó 5ó5ó5ó6ð7ó 8ð ˆððóñ0*ó1ð0*ð  ‡�×Ñ˜ &Ó)ñ,>ó *ð,>ð^ ‡�×Ñ˜ &Ó)ñ*4ó *ð*4ðZ ‡�×ÑØ0Ø‡h‚hÓ1Û1Û2Û1ð3ó 4ð 	‡h‚hÓ0Û3Û3Û1ð3ó 4ð 	‡h‚hÓ2Û1Û3Û2ð4ó 5ð 	‡h‚h‹|ÓØ�ðð 	‡h‚hó 6ó7ó5ó5ð6ó 7ð 	‡h‚hó 5ó6ó5ó6ð7ó 8ð 	‡h‚hó 6ó5ó5ó5ð6ó 7ð 	‡h‚h‹|ÓØ�ð3ð'ó)ñT5óU)ðT5ðB ‡�×Ñ˜ &Ó)ñ5>ó *ð5>ðp ‡�×ÑØ"Ø‡h‚hÓ(Û(Û(Û(ð*ó +ð 	‡h‚hÓ(Û(Û(Û(ð*ó +ð 	‡h‚hÓ(Û(Û(Û(ð*ó +ð 	‡h‚hÓ(Û(Û(Û(ð*ó +ð 	‡h‚hÓ(Û(Û(Û(ð*ó +ð 	‡h‚hÓ(Û(Û(Û(ð*ó +ð 	‡h‚hÓ(Û(Û(Û(ð*ó +ð 	‡h‚hÓ(Û(Û(Û(ð*ó +ð9,ð -ó!.ðD ‡�×Ñ˜ +Ó.ñ;ó /óE!.ðF;ð" ‡�×Ñ˜ +Ó.Ø‡�×Ñ˜¡*Ó-Ø‡�×Ñ˜£Ó1ñ->ó 2ó .ó /ð->ð` ‡�×Ñ˜ 4¨ ,Ó/Ø‡�×Ñ˜ &Ó)Ø‡�×Ñ˜¡&Ó)ñ,ó *ó *ó 0ð,ð. ‡�×Ñ˜ 4¨ ,Ó/Ø‡�×Ñ˜ &Ó)Ø‡�×Ñ˜¡&Ó)ñFó *ó *ó 0ðFð6 ‡�×Ñ˜¡ mÓ!4Ó5Ø‡�×Ñ˜ó (Eó Fà‡�×Ñ˜ # s Ó,Ø‡�×Ñ˜ &Ó)ñ)ó *ó -óFó 6ð
)ð  ‡�×Ñ˜ &Ó)Ø‡�×Ñ˜¢Ó1ñ!&ó 2ó *ð!&ðH ‡�×Ñ˜¡ mÓ!4Ó5Ø‡�×Ñ˜ &Ó)ñ)ó *ó 6ð)ð& ‡�×Ñ˜ +Ó.Ø‡�×Ñ˜¡fÓ-ñ@ó .ó /ò@øðko ô ØƒGðús   Á4AZ ÁZ	AZÁZAZ