Ë
    7^(h¤“ ã                   ó&  — d dl Zd dlZd dlmZ d dlmZmZmZm	Z	m
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJmKZKmLZL d dlMmNZNmOZOmPZPmQZQmRZRmSZSmTZTmUZU d dlVmWZWmXZX d dlYmZZZ d dl[m\Z\m]Z]m^Z^ d dl_m`Z` d d	lambZbmcZcmdZd d d
lemfZf d dlgmhZhmiZimjZjmkZkmlZlmmZm d dlnmoZompZp d dlqmrZr ee%eefZsee%fZteefZud„ Zvd„ Zwd„ Zxd„ Zyd„ Zzd„ Z{d„ Z|d„ Z}d„ Z~d„ Zd„ Z€d„ Z�d„ Z‚d„ Zƒd„ Z„d„ Z…d„ Z†d„ Z‡d „ Zˆd!„ Z‰d"„ ZŠd#„ Z‹d$„ ZŒd%„ Z�d&„ ZŽd'„ Z�d(„ Z�d)„ Z‘d*„ Z’d+„ Z“d,„ Z”d-„ Z•d.„ Z–d/„ Z—d0„ Z˜d1„ Z™d2„ Zšd3„ Z›d4„ Zœd5„ Z�d6„ Zžd7„ ZŸd8„ Z d9„ Z¡d:„ Z¢d;„ Z£d<„ Z¤d=„ Z¥d>„ Z¦d?„ Z§d@„ Z¨dA„ Z©dB„ ZªdC„ Z«dD„ Z¬dE„ Z­dF„ Z®dG„ Z¯dH„ Z°dI„ Z±dJ„ Z²dK„ Z³dL„ Z´dM„ ZµdN„ Z¶dO„ Z·dP„ Z¸dQ„ Z¹dR„ ZºdS„ Z»dT„ Z¼dU„ Z½dV„ Z¾dW„ Z¿dX„ ZÀdY„ ZÁdZ„ ZÂd[„ ZÃd\„ ZÄd]„ ZÅd^„ ZÆd_„ ZÇd`„ ZÈda„ ZÉdb„ ZÊdc„ ZËdd„ ZÌde„ ZÍdf„ ZÎdg„ ZÏdh„ ZÐdi„ ZÑdj„ ZÒdk„ ZÓdl„ ZÔdm„ ZÕdn„ ZÖdo„ Z×dp„ ZØdq„ ZÙdr„ ZÚds„ ZÛdt„ ZÜdu„ ZÝdv„ ZÞdw„ Zßeldx„ «       Zàdy„ Zádz„ Zâd{„ Zãd|„ Zäd}„ Zåd~„ Zæd„ Zçd€„ Zèd�„ Zéd‚„ Zêdƒ„ Zëd„„ Zìd…„ Zíd†„ Zîd‡„ Zïdˆ„ Zðd‰„ ZñdŠ„ Zòd‹„ ZódŒ„ Zôd�„ ZõdŽ„ Zöd�„ Z÷d�„ Zød‘„ Zùd’„ Zúd“„ Zûd”„ Züd•„ Zýd–„ Zþd—„ Zÿd˜„ �Z d™„ �Zdš„ �Zd›„ �Zdœ„ �Zd�„ �Zdž„ �ZdŸ„ �Zd „ �Zd¡„ �Z	d¢„ �Z
d£„ �Zd¤„ �Zd¥„ �Zd¦„ �Zd§„ �Zd¨„ �Zd©„ �Zdª„ �Zd«„ �Zd¬„ �Zd­„ �Zd®„ �Zd¯„ �Zd°„ �Zd±„ �Zd²„ �Zd³„ �Zd´„ �Zdµ„ �Zd¶„ �Zd·„ �Zd¸„ �Z d¹„ �Z!dº„ �Z"d»„ �Z#d¼„ �Z$d½„ �Z%d¾„ �Z&d¿„ �Z'dÀ„ �Z(dÁ„ �Z)dÂ„ �Z*dÃ„ �Z+dÄ„ �Z,dÅ„ �Z-dÆ„ �Z.dÇ„ �Z/dÈ„ �Z0dÉ„ �Z1dÊ„ �Z2dË„ �Z3dÌ„ �Z4dÍ„ �Z5dÎ„ �Z6dÏ„ �Z7eldÐ„ «       �Z8dÑ„ �Z9dÒ„ �Z:dÓ„ �Z;dÔ„ �Z<dÕ„ �Z=dÖ„ �Z>d×„ �Z?dØ„ �Z@dÙ„ �ZAdÚ„ �ZBdÛ„ �ZCdÜ„ �ZDdÝ„ �ZEdÞ„ �ZFdß„ �ZGdà„ �ZHdá„ �ZIdâ„ �ZJdã„ �ZKdä„ �ZLdå„ �ZMdæ„ �ZNdç„ �ZOdè„ �ZP ekdé«      dê„ «       �ZQdë„ �ZRdì„ �ZSy)íé    N)ÚHashable)GÚAbsÚAddÚArrayÚDeferredVectorÚEÚExprÚ	FiniteSetÚFloatÚFunctionÚGramSchmidtÚIÚImmutableDenseMatrixÚImmutableMatrixÚImmutableSparseMatrixÚIntegerÚKroneckerDeltaÚMatPowÚMatrixÚMatrixSymbolÚMaxÚMinÚMutableDenseMatrixÚMutableSparseMatrixÚPolyÚPowÚPurePolyÚQÚ
QuaternionÚRationalÚRootOfÚSÚSparseMatrixÚSymbolÚTupleÚWildÚbandedÚ
casoratianÚcosÚdiagÚdiffÚexpÚexpandÚeyeÚfloorÚhessianÚ	integrateÚlogÚmatrix_multiply_elementwiseÚnanÚonesÚooÚpiÚ
randMatrixÚ	rot_axis1Ú	rot_axis2Ú	rot_axis3Úrot_ccw_axis1Úrot_ccw_axis2Úrot_ccw_axis3ÚsignsimpÚsimplifyÚsinÚsqrtÚsstrÚsymbolsÚsympifyÚtanÚtrigsimpÚ	wronskianÚzerosÚcancel)ÚaÚbÚcÚdÚtÚxÚyÚz)Ú
NumberKindÚUndefinedKind)Ú_find_reasonable_pivot_naive)ÚMatrixErrorÚNonSquareMatrixErrorÚ
ShapeError)Ú
MatrixKind)Ú_dotprodsimp_stateÚ	_simplifyÚdotprodsimp)ÚArrayDerivative)Úignore_warningsÚraisesÚskipÚskip_under_pyodideÚslowÚwarns_deprecated_sympy)ÚcaptureÚiterable)Úversionc                  óh  — t        ddg d¢«      } | j                  dk(  sJ ‚| j                  dk(  sJ ‚| d   dk(  sJ ‚| d   dk(  sJ ‚t        | «      g d¢k(  sJ ‚t        | dd d …f   «      g d¢k(  sJ ‚t        | d d …df   «      ddgk(  sJ ‚t        | d d …d d …f   «      t        | «      k(  sJ ‚| d d …d d …f   | k(  sJ ‚t        | «      | k(  sJ ‚t        g d¢g d¢g«      | k(  sJ ‚t        g d¢g d¢f«      | k(  sJ ‚t        ddg«      | k(  sJ ‚t        d	«      | k(  sJ ‚t        ddgdd
gddgg«      | k(  rJ ‚y )Né   é   )é   rh   ri   é   é   é   ©rj   rj   rl   rj   ©rk   rl   rm   ©rj   rh   ri   )rp   ro   rk   rm   )r   ÚrowsÚcolsÚlist©rP   s    úb/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sympy/matrices/tests/test_matrixbase.pyÚtest__MinimalMatrixrv   #   sc  € Üˆq�!Ò'Ó(€AØ�6‰6�QŠ;Ðˆ;Ø�6‰6�QŠ;Ðˆ;ØˆQ‰4�1Š9Ðˆ9ØˆT‰7�aŠ<Ðˆ<Ü�‹7Ò(Ò(Ð(Ð(Ü��!’Q�$‘‹=šIÒ%Ð%Ð%Ü�’!�Q�$‘‹=˜Q ˜FÒ"Ð"Ð"Ü�’!’Q�$‘‹=œD ›GÒ#Ð#Ð#ØŠQ’ˆT‰7�aŠ<Ðˆ<Ü�!‹9˜Š>Ðˆ>Ü’9šiÐ(Ó)¨QÒ.Ð.Ð.Ü’9šiÐ(Ó)¨QÒ.Ð.Ð.Ü�9˜iÐ(Ó)¨QÒ.Ð.Ð.ÜÐ(Ó)¨QÒ.Ð.Ð.Ü˜˜A˜  A ¨¨A¨Ð/Ó0°AÒ5Ð6Ð6Ð5ó    c                  óŠ  — t        ddgddgg«      j                  t        t        «      k(  sJ ‚t        ddgddgg«      j                  t        t        «      k(  sJ ‚t        ddg «      j                  t        t        «      k(  sJ ‚t        t        gg«      j                  t        t        «      k(  sJ ‚t        dt        dgg«      gg«      j                  t        t
        «      k(  sJ ‚t        dgg«      j                  t        t        «      k(  sJ ‚t        dt        dgg«      gg«      j                  t        t
        «      k(  sJ ‚y ©Nrj   rh   ri   rk   r   )r   ÚkindrY   rS   rP   rT   r#   © rw   ru   Ú	test_kindr|   6   s  € Ü�A�q�6˜A˜q˜6Ð"Ó#×(Ñ(¬J´zÓ,BÒBÐBÐBÜ�A�q�6˜A˜q˜6Ð"Ó#×(Ñ(¬J´zÓ,BÒBÐBÐBÜ�!�Q˜Ó× Ñ ¤J¬zÓ$:Ò:Ð:Ð:Ü”A�3�%‹=×Ñ¤¬JÓ!7Ò7Ð7Ð7Ü�A”v ˜s˜e“}Ð%Ð&Ó'×,Ñ,´
¼=Ó0IÒIÐIÐIÜ˜!˜˜Ó×#Ñ#¤z´*Ó'=Ò=Ð=Ð=Ü˜!œV a S E›]Ð+Ð,Ó-×2Ñ2´jÄÓ6OÒOÐOÑOrw   c                  ó^  — t        d«      \  } }}}t        | |g||gg«      }t        | |g||gg«      }t        | |g||gg«      }t	        | |g||gg«      }|j                  «       |j                  «       cxk(  r3|j                  «       cxk(  r|j                  «       cxk(  r| |||dœk(  sJ ‚ J ‚y )Nza:d)©r   r   ©r   rj   ©rj   r   rn   )rD   r   r   r   r   Útodok)rK   rL   rM   rN   Úm1Úm2Úm3Úm4s           ru   Ú
test_todokr†   @   sÄ   € Ü˜“�J€A€qˆ!ˆQÜ	˜a ˜V a¨ VÐ,Ó	-€BÜ	  1˜v¨¨1 vÐ.Ó	/€BÜ	˜q !˜f q¨! fÐ-Ó	.€BÜ	  A ¨¨A¨Ð/Ó	0€BØ�8‰8‹:˜Ÿ™›ô 5 r§x¡x£zô 5°R·X±X³Zô 5Ø˜A q°!Ñ4ò5ð 5ñ 5ð 5ñ 5rw   c                  ó  — t         j                  t         j                  t        t        z  t         j
                  gt        t        t        t        dz  gt        t         j                   t        t        z  dgg} t         j                  t         j                  t        t        z  t         j
                  t        t        t        t        dz  t        t         j                   t        t        z  dg}t        dd|«      }|j                  «       | k(  sJ ‚y )Nrh   ri   rk   )	r"   ÚOneÚHalfrP   rQ   ÚZerorR   r   Útolist)ÚlstÚflat_lstÚms      ru   Útest_tolistr�   J   s¤   € Ü�E‰E”1—6‘6œ1œQ™3¤§¡Ð'¬!¬Q´´1°a±4¨¼1¼q¿u¹u¸fÄaÌÁcÈ1Ð:MÐ
N€CÜ—‘”q—v‘vœq¤™s¤A§F¡F¬A¬q´!´Q¸±T¼1¼q¿u¹u¸fÄaÌÁcÈ1ÐM€HÜˆq�!�XÓ€AØ�8‰8‹:˜ÒÐÑrw   c                  óî   — t        t        j                  dgdt        j                  gt        dgg«      } dt        j                  idt        j                  idt        idœ}| j                  «       |k(  sJ ‚y )Nr   rj   ©r   rj   rh   )r   r"   rˆ   r‰   rP   Útodod)rŽ   Údicts     ru   Ú
test_tododr”   Q   s[   € Ü”—‘˜�
˜Q¤§¡˜K¬!¨Q¨Ð0Ó1€AØ”1—5‘5ˆz˜q¤!§&¡&˜k¨q´!¨fÑ5€DØ�7‰7‹9˜ÒÐÑrw   c                  ó°  ‡ — t        ddg d¢«      Š t        t        ˆ fd„«       t        t        ˆ fd„«       t        t        ˆ fd„«       t        t        ˆ fd„«       ‰ j                  d«      ‰ j                  d«      cxk(  rt	        g d	¢g d
¢g«      k(  sJ ‚ J ‚‰ j                  d«      ‰ j                  d«      cxk(  rt	        ddgddgddgg«      k(  sJ ‚ J ‚‰ j                  d«      ‰ j                  d«      cxk(  rt	        g d	¢g d¢g«      k(  sJ ‚ J ‚‰ j                  d«      ‰ j                  d«      cxk(  rt	        ddgddgddgg«      k(  sJ ‚ J ‚y )Nri   ©	rj   rh   ri   rk   rl   rm   é   é   é	   c                  ó&   •— ‰ j                  d«      S ©Nrl   ©Úrow_del©Úes   €ru   ú<lambda>z"test_row_col_del.<locals>.<lambda>Y   ó   ø€ ˜qŸy™y¨›|€ rw   c                  ó&   •— ‰ j                  d«      S ©Néûÿÿÿrœ   rž   s   €ru   r    z"test_row_col_del.<locals>.<lambda>Z   ó   ø€ ˜qŸy™y¨›}€ rw   c                  ó&   •— ‰ j                  d«      S r›   ©Úcol_delrž   s   €ru   r    z"test_row_col_del.<locals>.<lambda>[   r¡   rw   c                  ó&   •— ‰ j                  d«      S r£   r§   rž   s   €ru   r    z"test_row_col_del.<locals>.<lambda>\   r¥   rw   rh   éÿÿÿÿrp   ro   rj   rk   rl   r—   r˜   éþÿÿÿ©r—   r˜   r™   rm   r™   )r   r_   Ú
IndexErrorr�   r   r¨   rž   s   @ru   Útest_row_col_delr®   W   s&  ø€ Ü˜˜1Ò9Ó:€AÜ
Œ:Ó+Ô,Ü
Œ:Ó,Ô-Ü
Œ:Ó+Ô,Ü
Œ:Ó,Ô-à�9‰9�Q‹<˜1Ÿ9™9 R›=ÔJ¬F²IºyÐ3IÓ,JÒJÐJÑJÐJÐJØ�9‰9�Q‹<˜1Ÿ9™9 R›=ÔL¬F°Q¸°F¸QÀ¸FÀQÈÀFÐ3KÓ,LÒLÐLÑLÐLÐLà�9‰9�Q‹<˜1Ÿ9™9 R›=ÔJ¬F²IºyÐ3IÓ,JÒJÐJÑJÐJÐJØ�9‰9�Q‹<˜1Ÿ9™9 R›=ÔL¬F°Q¸°F¸QÀ¸FÀQÈÀFÐ3KÓ,LÒLÐLÑLÐLÑLrw   c                  ó@  — t        ddgddgg«      } t        dt        gt        dgg«      }t        dt        dgt        dt        gt        t        t        gg«      } | j                  «       | gk(  sJ ‚ |j                  «       |gk(  sJ ‚ |j                  «       |gk(  sJ ‚y ©Nrj   rh   ri   )r   rP   rQ   rR   Úget_diag_blocks)rK   rL   rM   s      ru   Útest_get_diag_blocks1r²   e   s¤   € Ü��A�˜˜A˜ÐÓ €AÜ�”A�œ˜A˜ÐÓ €AÜ�”A�q�	œA˜q¤!˜9¤q¬!¬Q iÐ0Ó1€AØˆ1×ÑÓ 1 #Ò%Ð%Ð%Øˆ1×ÑÓ 1 #Ò%Ð%Ð%Øˆ1×ÑÓ 1 #Ò%Ð%Ñ%rw   c                  óì  — t        ddgddgg«      } t        dt        gt        dgg«      }t        dt        dgt        dt        gt        t        t        gg«      }t	        | ||«      t	        | ||«      t	        | ||«      t	        |||«      f\  }}}}t        |j
                  |j                  |«      }t        |j
                  |j                  |«      }t        |j
                  |j                  |«      }t        |j
                  |j                  |«      }|j                  «       | ||gk(  sJ ‚|j                  «       | ||gk(  sJ ‚|j                  «       | ||gk(  sJ ‚|j                  «       |||gk(  sJ ‚y r°   )r   rP   rQ   rR   r*   rq   rr   r±   )rK   rL   rM   ÚAÚBÚCÚDs          ru   Útest_get_diag_blocks2r¸   n   sU  € Ü��A�˜˜A˜ÐÓ €AÜ�”A�œ˜A˜ÐÓ €AÜ�”A�q�	œA˜q¤!˜9¤q¬!¬Q iÐ0Ó1€AÜ�a˜˜A“¤ Q¨¨1£¬t°A°q¸!«}¼dÀ1ÀaÈ»mÐK�J€A€qˆ!ˆQÜˆq�v‰v�q—v‘v˜qÓ!€AÜˆq�v‰v�q—v‘v˜qÓ!€AÜˆq�v‰v�q—v‘v˜qÓ!€AÜˆq�v‰v�q—v‘v˜qÓ!€Aà×ÑÓ 1 a¨ )Ò+Ð+Ð+Ø×ÑÓ 1 a¨ )Ò+Ð+Ð+Ø×ÑÓ 1 a¨ )Ò+Ð+Ð+Ø×ÑÓ 1 a¨ )Ò+Ð+Ñ+rw   c                  ó®   — t        ddg d¢«      } | j                  d«      t        ddg d¢«      k(  sJ ‚| j                  d«      t        ddg d¢«      k(  sJ ‚y )Nri   r–   r   rj   rp   ©rj   rk   r—   )r   ÚrowÚcol©rŽ   s    ru   Útest_row_colr¾   ~   sO   € Üˆq�!Ò0Ó1€AØ�5‰5�‹8”v˜a ¢IÓ.Ò.Ð.Ð.Ø�5‰5�‹8”v˜a ¢IÓ.Ò.Ð.Ñ.rw   c                  ó|   — t        d«      j                  t        g d¢«      «      t        g d¢g d¢g d¢g«      k(  sJ ‚y )Nri   ©r—   r—   r—   )rj   r   r   r—   )r   rj   r   r—   )r   r   rj   r—   )r.   Úrow_joinr   r{   rw   ru   Útest_row_joinrÂ   „   s;   € Üˆq‹6�?‰?œ6¢)Ó,Ó-Ü’<ÚÚð!ó "ò"ð "ñ "rw   c                  ó„   — t        d«      j                  t        g d¢g«      «      t        g d¢g d¢g d¢g d¢g«      k(  sJ ‚y )Nri   rÀ   ©rj   r   r   ©r   rj   r   ©r   r   rj   )r.   Úcol_joinr   r{   rw   ru   Útest_col_joinrÈ   ‹   s@   € Üˆq‹6�?‰?œ6¢9 +Ó.Ó/Ü’9ÚÚÚðó òð ñ rw   c                  óè   — t        g d¢g«      } t        dd«      D ]U  }g d¢}|j                  |d«       t        d«      j	                  || «      j                  d«      j                  «       |k(  rŒUJ ‚ y )N©rk   rk   rk   éüÿÿÿrl   rÄ   rk   ri   r   )r   ÚrangeÚinsertr.   Ú
row_insertr¼   Úflat)Úr4ÚiÚls      ru   Útest_row_insertrÓ   “   sh   € Ü	’�Ó	€BÜ�2�q‹\ò ;ˆÚˆØ	�‰��AŒÜ�1‹v× Ñ   BÓ'×+Ñ+¨AÓ.×3Ñ3Ó5¸Ó:Ð:Ð:ñ;rw   c                  ó’  — t        g d¢«      } t        dd«      D ]U  }g d¢}|j                  |d«       t        d«      j	                  || «      j                  d«      j                  «       |k(  rŒUJ ‚ t        d«      j	                  dt        d	d	gd	d	gd	d	gd	d	gd	d	gd	d	gg«      «      t        g d
¢g d¢g d¢g d¢g d¢g d¢g«      k(  sJ ‚y )NrÊ   rË   rl   ©r   r   r   rk   ri   r   rm   rh   )rj   r   r   rh   rh   r   r   r   )r   rj   r   rh   rh   r   r   r   )r   r   rj   rh   rh   r   r   r   )r   r   r   rh   rh   rj   r   r   )r   r   r   rh   rh   r   rj   r   )r   r   r   rh   rh   r   r   rj   )r   rÌ   rÍ   rI   Ú
col_insertr»   rÏ   r.   )Úc4rÑ   rÒ   s      ru   Útest_col_insertrØ   ›   s×   € Ü	’	Ó	€BÜ�2�q‹\ò =ˆÚˆØ	�‰��AŒÜ�Q‹x×"Ñ" 1 bÓ)×-Ñ-¨aÓ0×5Ñ5Ó7¸1Ó<Ð<Ð<ð=ô
 ˆq‹6×Ñ˜Q¤¨¨A¨°°A°¸¸A¸ÀÀAÀÈÈAÈÐQRÐTUÐPVÐ'WÓ XÓYÜÒ+Ú+Ú+Ú+Ú+Ú+ð-ó .ò.ð .ñ .rw   c                  ó`  ‡ — t        ddd„ «      Š ‰ j                  g d¢ddg«      t        ddg d¢«      k(  sJ ‚‰ j                  ddgg d	¢«      t        ddg d
¢«      k(  sJ ‚‰ j                  t        d«      t        d«      «      ‰ k(  sJ ‚t        t        ˆ fd„«       t        t        ˆ fd„«       y )Nrk   ri   c                 ó   — | dz  |z   S ©Nri   r{   ©rÑ   Újs     ru   r    ztest_extract.<locals>.<lambda>¬   ó   €  ! A¡#¨¡'€ rw   )r   rj   ri   r   rj   rh   )r   rj   ri   rk   r™   é
   ©r   r   rh   )r   r   rh   r™   r™   é   c                  ó,   •— ‰ j                  dgdg«      S )Nrk   r   ©Úextractr½   s   €ru   r    ztest_extract.<locals>.<lambda>°   ó   ø€ ˜qŸy™y¨!¨¨q¨cÓ2€ rw   c                  ó,   •— ‰ j                  dgdg«      S )Nr   ri   rã   r½   s   €ru   r    ztest_extract.<locals>.<lambda>±   rå   rw   )r   rä   rÌ   r_   r­   r½   s   @ru   Útest_extractrç   «   s—   ø€ Üˆq�!Ñ)Ó*€AØ�9‰9’Y  A Ó'¬6°!°QÒ8KÓ+LÒLÐLÐLØ�9‰9�a˜�VšYÓ'¬6°!°QÒ8KÓ+LÒLÐLÐLØ�9‰9”U˜1“Xœu Q›xÓ(¨AÒ-Ð-Ð-Ü
Œ:Ó2Ô3Ü
Œ:Ó2Õ3rw   c                  óŒ  ‡‡— t        ddd„ «      Št        ddd„ «      Š‰‰j                  ‰«      k(  sJ ‚‰j                  ‰‰‰«      t        j                  ‰‰‰«      cxk(  rt        g d¢g d¢g d¢g d¢g«      k(  sJ ‚ J ‚t        t        ˆˆfd	„«       t        j                  «       t        «       k(  sJ ‚t        j                  d
d
«      } t        j                  d
d«      }t        j                  d
d«      }t        j                  d
d«      }t        j                  | |||«      Š‰j
                  d
k(  r‰j                  dk(  sJ ‚y )Nrk   ri   c                 ó   — | dz  |z   S rÛ   r{   rÜ   s     ru   r    ztest_hstack.<locals>.<lambda>µ   rÞ   rw   c                 ó   — | dz  |z   S rÛ   r{   rÜ   s     ru   r    ztest_hstack.<locals>.<lambda>¶   ó   €  1 Q¡3¨¡7€ rw   )	r   rj   rh   r   rj   rh   r   rj   rh   )	ri   rk   rl   ri   rk   rl   ri   rk   rl   )	rm   r—   r˜   rm   r—   r˜   rm   r—   r˜   )	r™   rß   rá   r™   rß   rá   r™   rß   rá   c                  ó(   •— ‰ j                  ‰ ‰«      S ©N)Úhstack©rŽ   rƒ   s   €€ru   r    ztest_hstack.<locals>.<lambda>½   ó   ø€ ˜qŸx™x¨¨2›€ rw   r   rj   rh   rm   )r   rî   r_   rX   rI   rq   rr   )ÚM1ÚM2ÚM3ÚM4rŽ   rƒ   s       @@ru   Útest_hstackrõ   ´   s#  ù€ Üˆq�!Ñ)Ó*€AÜ	��1Ñ*Ó	+€BØ�—‘˜“ÒÐÐØ�8‰8�A�q˜!Ó¤§¡¨a°°AÓ 6ô 4¼&Ú1Ú1Ú1Ú1ð	B3ó ;4ò 4ð 4ñ 4ð 4ð 4ô
 Œ:Ô.Ô/Ü�=‰=‹?œf›hÒ&Ð&Ð&ô 
�‰�a˜Ó	€BÜ	�‰�a˜Ó	€BÜ	�‰�a˜Ó	€BÜ	�‰�a˜Ó	€BÜ�‰�b˜"˜b "Ó%€AØ�6‰6�QŠ;˜1Ÿ6™6 Qš;Ð&Ð&˜;rw   c                  óœ  ‡ ‡— t        ddd„ «      Š t        ddd„ «      Š‰ ‰ j                  ‰ «      k(  sJ ‚‰ j                  ‰ ‰ ‰ «      t        j                  ‰ ‰ ‰ «      cxk(  r3t        g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g«      k(  sJ ‚ J ‚t        t        ˆ ˆfd	„«       t        j                  «       t        «       k(  sJ ‚y )
Nrk   ri   c                 ó   — | dz  |z   S rÛ   r{   rÜ   s     ru   r    ztest_vstack.<locals>.<lambda>Ê   rÞ   rw   c                 ó   — | dz  |z   S rÛ   r{   rÜ   s     ru   r    ztest_vstack.<locals>.<lambda>Ë   rë   rw   r‘   ©ri   rk   rl   ©rm   r—   r˜   ©r™   rß   rá   c                  ó(   •— ‰ j                  ‰ ‰«      S rí   )Úvstackrï   s   €€ru   r    ztest_vstack.<locals>.<lambda>Ú   rð   rw   )r   rý   r_   rX   rï   s   @@ru   Útest_vstackrþ   É   sÈ   ù€ Üˆq�!Ñ)Ó*€AÜ	��1Ñ*Ó	+€BØ�—‘˜“ÒÐÐØ�8‰8�A�q˜!Ó¤§¡¨a°°AÓ 6ô .¼&Ú +Ú +Ú +Ú +Ú +Ú +Ú +Ú +Ú +Ú +Ú +Ú +ðB-ó ;.ò .ð .ñ .ð .ð .ô Œ:Ô.Ô/Ü�=‰=‹?œf›hÒ&Ð&Ñ&rw   c                  ó  — t        t        t        fdf«      } | j                  t        «      sJ ‚| j                  t        «      rJ ‚| j                  t
        «      sJ ‚t        dt        fdf«      } | j                  t        «      rJ ‚y )N©rh   ri   rh   )r   rP   rQ   ÚhasrR   r$   ©r´   s    ru   Útest_hasr  Þ   si   € Ü””A�˜ÐÓ €AØ�5‰5”Œ8€Oˆ8Ø�u‰u”QŒxÐˆ<Ø�5‰5”Œ=Ðˆ=ä�”A�˜ÐÓ €AØ�u‰u”QŒxÐˆ<ˆxrw   c                  ó¤  — t        d«      } t        ddddg«      j                  «       du sJ ‚t        ddd| dz  d| z  z   dz   t        | dz   dz   d| t        z  t         |  t        z  dg	«      }|j                  «       du sJ ‚|j                  d¬«      �J ‚|j                  d	„ ¬«      �J ‚t        dd|D � cg c]  }  | j                  «       ‘Œ c} «      }|j                  d¬«      du sJ ‚t        ddt
        j                  gt        |«      dd  z   D � cg c]  }  | j                  «       ‘Œ c} «      }|j                  «       du sJ ‚y c c} w c c} w )
NrP   rh   rj   Fri   r   T©r@   c                 ó   — | S rí   r{   rt   s    ru   r    z(test_is_anti_symmetric.<locals>.<lambda>î   ó   € °!€ rw   )rD   r   Úis_anti_symmetricrQ   r-   r"   rˆ   rs   )rP   rŽ   s     ru   Útest_is_anti_symmetricr	  è   sS  € Ü�‹€AÜ�!�Q˜˜A˜Ó×1Ñ1Ó3°uÑ<Ð<Ð<Üˆq�!�a˜˜A™  !¡™ a™¬¨a°!©e°a©Z¨K¸¸A¼a¹CÄ!ÀÀaÀRÌÁTÈ1ÐMÓN€AØ×ÑÓ  DÑ(Ð(Ð(Ø×Ñ¨ÐÓ.Ð6Ð6Ð6Ø×Ñ©ÐÓ4Ð<Ð<Ð<äˆq�!¨!Ö, Q�h�a—h‘h•jÒ,Ó-€AØ×Ñ¨ÐÓ.°$Ñ6Ð6Ð6Üˆq�!¬1¯5©5¨'´D¸³G¸A¸B°KÑ*?Ö@ Q�h�a—h‘h•jÒ@ÓA€AØ×ÑÓ  EÑ)Ð)Ñ)ùò -ùâ@s   Â6EÄEc                  ób  — t        dt        gt         dgg«      } | j                  sJ ‚t        dt        z  t        gt         dgg«      } | j                  du sJ ‚t        t        t        gt         dgg«      } | j                  �J ‚t        t        dgt         dgg«      } | j                  du sJ ‚y )Nrj   rh   F©r   r   Úis_hermitianrP   ©rK   s    ru   Útest_is_hermitianr  ö   sª   € Ü�”A�œ!˜˜Q˜Ð Ó!€AØ�>Š>Ðˆ>Ü�”1‘”a�œA˜2˜q˜'Ð"Ó#€AØ�>‰>˜UÑ"Ð"Ð"Ü””A�œ!˜˜Q˜Ð Ó!€AØ�>‰>Ð!Ð!Ð!Ü”�A�œ!˜˜Q˜Ð Ó!€AØ�>‰>˜UÑ"Ð"Ñ"rw   c                  óJ  — t        t        t        gt        t        gg«      }  | j                  «       du sJ ‚t        g d¢g d¢g«      }  | j                  «       du sJ ‚t        g d¢ddt        dgg«      }  | j                  «       du sJ ‚t        dt        d	gg«      }  | j                  «       du sJ ‚t        g d
¢g«      }  | j                  «       du sJ ‚t        dgt        gd	gg«      }  | j                  «       du sJ ‚t        dgdgd	gg«      }  | j                  «       du sJ ‚y )NT©rj   rh   ri   rk   ©rl   rm   r—   r˜   Frl   rm   r˜   rj   ri   rp   rh   )r   rP   Úis_symbolicr  s    ru   Útest_is_symbolicr    s#  € Ü””A�œœA˜ÐÓ €AØˆ1�=‰=‹?˜dÑ"Ð"Ð"Ü’šlÐ+Ó,€AØˆ1�=‰=‹?˜eÑ#Ð#Ð#Ü’˜q !¤Q¨˜lÐ+Ó,€AØˆ1�=‰=‹?˜dÑ"Ð"Ð"Ü�”A�q�	ˆ{Ó€AØˆ1�=‰=‹?˜dÑ"Ð"Ð"Ü’	ˆ{Ó€AØˆ1�=‰=‹?˜eÑ#Ð#Ð#Ü��”a�S˜1˜#ˆÓ€AØˆ1�=‰=‹?˜dÑ"Ð"Ð"Ü���a�S˜1˜#ˆÓ€AØˆ1�=‰=‹?˜eÑ#Ð#Ñ#rw   c                  ó|   — t        dgdgg«      } t        ddgddgg«      }| j                  rJ ‚|j                  sJ ‚y ©Nrj   rh   )r   Ú	is_squarerï   s     ru   Útest_is_squarer    sC   € Ü���a�SˆzÓ€AÜ	�!�Q�˜!˜Q˜Ð Ó	!€BØ�{Š{Ðˆ?Ø�<Š<Ð‰<rw   c                  óˆ   — t        ddg d¢«      } | j                  «       sJ ‚t        ddg d¢«      } | j                  «       rJ ‚y )Nrh   ©r   rj   rj   r   ©r   rj   r   rj   )r   Úis_symmetricr½   s    ru   Útest_is_symmetricr    sA   € Üˆq�!’\Ó"€AØ�>‰>ÔÐÐÜˆq�!’\Ó"€AØ�~‰~ÔÐÐÐrw   c                  ó$  — t        g d¢g d¢g d¢g«      } | j                  sJ ‚t        ddg d¢«      } | j                  sJ ‚t        ddg d¢«      } | j                  du sJ ‚| j                  du sJ ‚t        g d¢g d¢g d¢g«      } | j                  rJ ‚y )	N©ri   rk   rj   ©rh   rk   rl   r‘   ri   )	ri   rh   r   rk   rk   rj   rj   rl   rh   )	ri   rh   rª   rk   rk   rj   rj   rl   rh   F©ri   rj   rh   )r   Úis_upper_hessenbergÚis_lower_hessenbergr  s    ru   Útest_is_hessenbergr#     sš   € Ü’	š9¢iÐ0Ó1€AØ× Ò Ð Ð Üˆq�!Ò0Ó1€AØ× Ò Ð Ð Üˆq�!Ò1Ó2€AØ× Ñ  EÑ)Ð)Ð)Ø× Ñ  EÑ)Ð)Ð)ä’	š9¢iÐ0Ó1€AØ×$Ò$Ð$Ð$Ð$rw   c            
      óÖ   — t        t        ddg d¢«      j                  «       «      h d£k(  sJ ‚t        dd¬«      } t        t        dd| dddg«      j                  «       «      | dhk(  sJ ‚y )	Nrh   ©r   rj   rh   ri   >   rj   rh   ri   rP   T©Úrealr   rj   )Úsetr   Úvaluesr$   rt   s    ru   Útest_valuesr*  -  sv   € ÜŒv�a˜šLó 
ß
‰&‹(óÚ ò!ð !ð !äˆs˜Ô€AÜŒv�a˜˜Q  1 a˜Ló 
ß
‰&‹(óØ˜1�vòð ñ rw   c                  ó¢  — t        dt        dgg d¢g«      } | j                  t        ddgt        dgddgg«      k(  sJ ‚| j                  t        dt         dgg d¢g«      k(  sJ ‚| j                  | j	                  «       k(  sJ ‚| j
                  | j                  j                  k(  sJ ‚| j
                  t        ddgt         dgddgg«      k(  sJ ‚y )Nr   rl   ©rj   rh   r   rj   rh   )r   r   ÚTr¶   Ú	conjugateÚH©ÚMs    ru   Útest_conjugater2  5  sí   € Ü�”A�q�	Úðó 	€Að �3‰3”&˜1˜a˜&Ü˜a˜&Ø˜a˜&ð"ó #ò #ð #ð #ð �3‰3”&˜1œq˜b !˜*Ú$ð&ó 'ò 'ð 'ð 'à�3‰3�!—+‘+“-ÒÐÐà�3‰3�!—#‘#—%‘%Š<Ðˆ<Ø�3‰3”&˜A˜q˜'Ü˜2˜q˜'Ø˜q˜'ð#ó $ò $ð $ñ $rw   c                  ó¸   — t        t        t        t        d¬«      gg«      } | d   dt        z  k7  sJ ‚ | j                  «       t        dt        z  gg«      k(  sJ ‚y )NF©Úevaluater   rh   )r   r   rP   Údoitr  s    ru   Ú	test_doitr7  G  sQ   € Ü””Qœ EÔ*Ð+Ð,Ó-€AØˆQ‰4�1”Q‘3Š;Ðˆ;Øˆ1�6‰6‹8”v ¤!¡˜u˜g“Ò&Ð&Ñ&rw   c                  óð   ‡ — t        ddt        d«      dg«      Š t        ˆ fd„t        d«      D «       «      sJ ‚t        ˆ fd„t        d«      D «       «      sJ ‚t        ˆ fd„t        d«      D «       «      sJ ‚y )Nrh   rj   rl   rm   c              3   ón   •K  — | ],  } ‰j                   «       |   ‰|   j                  «       k(  –— Œ. y ­wrí   ©Úevalf©Ú.0rÑ   rK   s     €ru   ú	<genexpr>ztest_evalf.<locals>.<genexpr>O  s,   øè ø€ Ò>°ˆwˆq�w‰w‹y˜‰|˜q ™tŸz™z›|Õ+Ñ>ùó   ƒ25c              3   ór   •K  — | ].  } ‰j                   d «      |   ‰|   j                  d «      k(  –— Œ0 y­w©rh   Nr:  r<  s     €ru   r>  ztest_evalf.<locals>.<genexpr>P  s0   øè ø€ Ò@°!ˆwˆq�w‰w�q‹z˜!‰}  !¡§
¡
¨1£Õ-Ñ@ùó   ƒ47c              3   ór   •K  — | ].  } ‰j                   d «      |   ‰|   j                  d «      k(  –— Œ0 y­wrA  ©Únr<  s     €ru   r>  ztest_evalf.<locals>.<genexpr>Q  s0   øè ø€ Ò8¨!ˆsˆq�s‰s�1‹v�a‰y˜A˜a™DŸF™F 1›IÕ%Ñ8ùrB  )r   rB   ÚallrÌ   r  s   @ru   Ú
test_evalfrG  M  sa   ø€ Üˆq�!”d˜1“g˜q�\Ó"€AÜÓ>´U¸1³XÔ>Ô>Ð>Ð>ÜÓ@´u¸Q³xÔ@Ô@Ð@Ð@ÜÓ8¬u°Q«xÔ8Ô8Ð8Ñ8rw   c                  ó¢   ‡‡— t        dt        ¬«      \  ŠŠt        ddˆfd„«      } t        ddˆfd„«      }|j                  ‰‰«      }|| k(  sJ ‚y )NúF, G©Úclsrh   c                 ó   •—  ‰| |z   «      S rí   r{   ©rÑ   rÝ   ÚGs     €ru   r    ztest_replace.<locals>.<lambda>V  ó   ø€ ¡! A a¡C£&€ rw   c                 ó   •—  ‰| |z   «      S rí   r{   ©rÑ   rÝ   ÚFs     €ru   r    ztest_replace.<locals>.<lambda>W  rO  rw   ©rD   r   r   Úreplace)ÚKr1  ÚNrR  rN  s      @@ru   Útest_replacerW  T  sK   ù€ Ü�6œxÔ(�D€A€qÜˆq�!Ó(Ó)€AÜˆq�!Ó(Ó)€AØ	�	‰	�!�Q‹€AØ�Š6€M‰6rw   c            	      ó  ‡‡— t        dt        ¬«      \  ŠŠt        ddˆfd„«      } | j                  ‰‰d«      \  }}|t        ddˆfd„«      k(  sJ ‚| ‰d«       ‰d«       ‰d«       ‰d«       ‰d«       ‰d«      ik(  sJ ‚y )	NrI  rJ  rh   c                 ó   •—  ‰| |z   «      S rí   r{   rQ  s     €ru   r    z"test_replace_map.<locals>.<lambda>^  rO  rw   Tc                 ó   •—  ‰| |z   «      S rí   r{   rM  s     €ru   r    z"test_replace_map.<locals>.<lambda>`  s   ø€ ©!¨A¨a©C«&€ rw   r   rj   rS  )r1  rV  rN   rR  rN  s      @@ru   Útest_replace_mapr[  \  sƒ   ù€ Ü�6œxÔ(�D€A€qÜˆq�!Ó(Ó)€AØ�9‰9�Q˜˜4Ó �D€A€qØ”�q˜!Ó0Ó1Ò1Ð1Ð1Ø‘�1“‘q˜“t™Q˜q›T¡1 Q£4©¨1«©q°«tÐ4Ò4Ð4Ñ4rw   c                  óP  ‡‡— 	 ddl mŠm}  t        ddgddgg«      Š ‰ddgddgg«      }   ‰‰«      |«      sJ ‚ |  ‰‰d¬	«      |«      sJ ‚t        t        d
«      j                  d«      d   «      dk\  rt        t        ˆˆfd„«       y y # t        $ r t	        d«       Y Œ˜w xY w)Nr   )ÚarrayÚarray_equalú?NumPy must be available to test creating matrices from ndarraysrj   rh   ri   rk   T©ÚcopyÚnumpyú.c                  ó   •—  ‰‰ d¬«      S )NFr`  r{   )r´   r]  s   €€ru   r    z'test_numpy_conversion.<locals>.<lambda>m  s   ø€ ¡%¨°Ô"6€ rw   )rb  r]  r^  ÚImportErrorr`   r   Úintrf   Úsplitr_   Ú	TypeError)r^  Únp_arrayr´   r]  s     @@ru   Útest_numpy_conversionrj  c  s³   ù€ ðPß,ô 	��1�˜˜!�uˆ~Ó€AÙ�q˜�e˜a ˜U�^Ó$€HÙ‘u˜Q“x Ô*Ð*Ð*Ù‘u˜Q TÔ*¨HÔ5Ð5Ð5Ü
Œ7�7Ó×!Ñ! #Ó& qÑ)Ó*¨aÒ/ÜŒyÔ6Õ7ð 0øô ò PÜÐNÖOðPús   „B ÂB%Â$B%c                  óH  — t        ddgddgg«      } | | j                  d«      cxk(  r| j                  d«      k(  sJ ‚ J ‚| j                  d«      | j                  d«      cxk(  r$| j                  d«      cxk(  rt        d«      k(  sJ ‚ J ‚| j                  d«      | j                  d	«      cxk(  r$| j                  d
«      cxk(  rt        d«      k(  sJ ‚ J ‚| j                  «       | j                  d«      cxk(  r$| j                  d«      cxk(  rt        d«      k(  sJ ‚ J ‚y )Nrj   rh   ri   rk   r   r«   rm   ))rk   ri   ©rh   rj   rª   r—   ))rh   rk   ©rj   ri   éùÿÿÿéýÿÿÿ)©ri   rj   )rk   rh   )r   Úrot90r  s    ru   Ú
test_rot90rr  o  sô   € Ü��A�˜˜A˜ÐÓ €AØ�—‘˜“
Ô(˜aŸg™g a›jÒ(Ð(Ñ(Ð(Ð(Ø�7‰7�1‹:˜Ÿ™ ›ÔN¨¯©°«
ÔN´fÐ=MÓ6NÒNÐNÑNÐNÐNØ�7‰7�1‹:˜Ÿ™ ›ÔN¨¯©°«
ÔN´fÐ=MÓ6NÒNÐNÑNÐNÐNØ�7‰7‹9˜Ÿ™ ›ÔN q§w¡w¨r£{ÔN´fÐ=MÓ6NÒNÐNÑNÐNÑNrw   c                  ó0  — t        dt        gt        dgg«      j                  t        d«      t        ddgddgg«      k(  sJ ‚t        t        dgt        t        z   dgg«      j                  t        dgt        dgg«      t        ddgddgg«      k(  sJ ‚t        t        dgt        t        z   dgg«      j                  t        dft        dfg«      t        ddgddgg«      k(  sJ ‚t        t        dgt        t        z   dgg«      j                  t        dt        di«      t        ddgddgg«      k(  sJ ‚t        t        t        z  gg«      j                  t        t        dz
  t        t        dz
  id¬	«      t        t        dz
  t        dz
  z  gg«      k(  sJ ‚y )
Nrj   rk   rl   rh   rª   r«   ro  T)Úsimultaneous)r   rP   ÚsubsrQ   r{   rw   ru   Ú	test_subsrv  w  s”  € Ü�A”q�6œA˜q˜6Ð"Ó#×(Ñ(¬¨AÓ.´&¸1¸a¸&À1ÀaÀ&Ð9IÓ2JÒJÐJÐJÜ”A�q�6œA¤™E 1˜:Ð&Ó'×,Ñ,¬q°"¨g¼¸2°wÐ-?Ó@Ü�B˜�7˜R ˜GÐ$Ó%ò&ð &ð &ä”A�q�6œA¤™E 1˜:Ð&Ó'×,Ñ,¬q°"¨g¼¸2°wÐ-?Ó@Ü�B˜�7˜R ˜GÐ$Ó%ò&ð &ð &ä”A�q�6œA¤™E 1˜:Ð&Ó'×,Ñ,¬a°´Q¸¨^Ó<Ü�B˜�7˜R ˜GÐ$Ó%ò&ð &ð &ä”A”a‘C�5�'‹?×Ñ¤¤A¨¡E¬1¬a°!©eÐ 4À4ÐÓHÜ”Q˜‘UœQ ™U‘OÐ$Ð%Ó&ò'ð 'ñ 'rw   c                  ó"  ‡— t        ddg d¢«      Št        t        ˆfd„«       t        t        ˆfd„«        ‰j                  ddgddgg«      }  ‰j
                  ddgddgg«      | cxk(  rt        g d	¢g d
¢g d¢g«      k(  sJ ‚ J ‚ ‰j                  ddgddgg«      }  ‰j
                  ddgddggd¬«      | cxk(  rt        g d¢g d¢g d¢g«      k(  sJ ‚ J ‚ ‰j                  ddgddggd¬«      }  ‰j
                  ddgddggdd¬«      | cxk(  rt        g d¢g d¢g d¢g«      k(  sJ ‚ J ‚ ‰j
                  g d¢«      t        g d	¢g d
¢g d¢g«      k(  sJ ‚ddlm}  ‰j
                   |g d¢«      «      t        g d	¢g d
¢g d¢g«      k(  sJ ‚y )Nri   rk   )rj   rh   ri   rk   rl   rm   r—   r˜   r™   rß   rá   é   c                  ó.   •—  ‰ j                   ddgg«      S )Nr   rl   )Úpermuter  s   €ru   r    ztest_permute.<locals>.<lambda>†  s   ø€ ˜y˜qŸy™y¨1¨a¨&¨Ó2€ rw   c                  ó:   •—  ‰ j                   t        d«      «      S )NrP   )rz  r$   r  s   €ru   r    ztest_permute.<locals>.<lambda>‡  s   ø€ ˜y˜qŸy™y¬°«Ó5€ rw   r   rh   rj   r  ©r™   rß   rá   rx  r  rr   )Úorientation)rh   ri   rj   rk   )rm   r—   rl   r˜   )rß   rá   r™   rx  Úbackward)Ú	direction)r}  r  )ri   rj   rh   rk   )r—   rl   rm   r˜   )rá   r™   rß   rx  )rj   rh   r   ri   )ÚPermutation)	r   r_   r­   Ú
ValueErrorÚpermute_rowsrz  Úpermute_colsÚsympy.combinatoricsr€  )rL   r€  rK   s     @ru   Útest_permuter…  ƒ  sî  ø€ Üˆq�!Ò<Ó=€Aä
Œ:Ó2Ô3Ü
Œ:Ó5Ô6Øˆ�‰˜˜A˜  A Ð'Ó(€AØˆ1�9‰9�q˜!�f˜q !˜fÐ%Ó&¨!ô >¬vÚ,;Ú,;Ú,;ð7=ó 0>ò >ð >ñ >ð >ð >ð
 	ˆ�‰˜˜A˜  A Ð'Ó(€AØˆ1�9‰9�q˜!�f˜q !˜fÐ%°6Ô:¸aô .Ü"Ú+Ú+Ú+ð$-ó .ò.ð .ñ .ð .ð .ð 	ˆ�‰˜˜A˜  A Ð'°:Ô>€AØˆ1�9‰9�q˜!�f˜q !˜fÐ%°6ÀZÔPÐTUô .Ü"Ú+Ú+Ú+ð$-ó .ò.ð .ñ .ð .ð .ð ˆ1�9‰9’\Ó"¤fÚ,;Ú,;Ú,;ð.=ó '>ò >ð >ð >õ
 0Øˆ1�9‰9‘[¢Ó.Ó/´6Ú,;Ú,;Ú,;ð;=ó 4>ò >ð >ñ >rw   c                  ó>  — t        g d¢g d¢g d¢g d¢g«      } | j                  d«      }|t        g d¢g d¢g d¢g d¢g«      k(  sJ ‚| j                  d«      }|t        g d¢g d¢g d¢g d¢g«      k(  sJ ‚| j                  «       }|t        g d¢g d¢g d¢g d¢g«      k(  sJ ‚y )N©rj   rj   rj   rj   rh   ©r   r   rj   rj   ©r   r   r   rj   ©r   r   r   r   r«   )r   rj   rj   rj   )r   Úupper_triangular)r´   ÚRs     ru   Útest_upper_triangularr�  §  sÏ   € äÚÚÚÚð	ó 	€Að 	
×Ñ˜1Ó€AØ”Ú$Ú$Ú$Ú$ð	ó ò ð ð ð 	
×Ñ˜2Ó€AØ”Ú$Ú$Ú$Ú$ð	ó ò ð ð ð 	
×ÑÓ€AØ”Ú$Ú$Ú$Ú$ð	ó ò ð ñ rw   c                  ó>  — t        g d¢g d¢g d¢g d¢g«      } | j                  «       }|t        g d¢g d¢g d¢g d¢g«      k(  sJ ‚| j                  d«      }|t        g d¢g d¢g d¢g d¢g«      k(  sJ ‚| j                  d«      }|t        g d¢g d¢g d¢g d¢g«      k(  sJ ‚y )Nr‡  ©rj   r   r   r   ©rj   rj   r   r   ©rj   rj   rj   r   rh   r«   rŠ  )r   Úlower_triangular©r´   ÚLs     ru   Útest_lower_triangularr•  É  sÏ   € ÜÚ$Ú$Ú$Ú$ð	ó 	€Að 	
×ÑÓ€AØ”Ú$Ú$Ú$Ú$ð	&ó 'ò 'ð 'ð 'ð 	
×Ñ˜1Ó€AØ”Ú$Ú$Ú$Ú$ð	ó ò ð ð ð 	
×Ñ˜2Ó€AØ”Ú$Ú$Ú$Ú$ð	ó ò ð ñ rw   c            	      óF  ‡ ‡— t        g d¢t        t        t        gdt        z  dt        t        z  gg«      Š ‰ ‰ z   t        g d¢dt        z  dt        z  dt        z  gdt        z  ddt        z  t        z  gg«      k(  sJ ‚t        ddddg«      Št	        t
        ˆ ˆfd„«       y )	Nrp   rh   éÎÿÿÿ©rh   rk   rm   rk   éœÿÿÿrj   c                  ó   •— ‰ ‰z   S rí   r{   ©rŽ   rE  s   €€ru   r    ztest_add.<locals>.<lambda>í  ó   ø€ ˜q 1™u€ rw   ©r   rP   rQ   rR   r_   rX   r›  s   @@ru   Útest_addrž  é  ó‡   ù€ Ü’	œAœq¤!˜9 q¬¡s¨C´´1± oÐ6Ó7€AØˆq‰5”FšI¨¬!©¨Q¬q©S°!´A±# ¸¼1¹¸dÀAÄaÁCÌÁEÐ8JÐKÓLÒLÐLÐLÜˆq�!�a˜�VÓ€AÜ
Œ:”}Õ%rw   c                  ó&  — t        ddgddgg«      }  | j                  d«      t        k(  sJ ‚ | j                  d«      t        k(  sJ ‚	 t	        d«       	 t	        d«       y # t
        $ r Y Œt        $ r Y Œ"w xY w# t
        $ r Y y t        $ r Y y w xY w)Nrj   rh   ri   rk   z2 @ aza @ 2)r   Ú
__matmul__ÚNotImplementedÚ__rmatmul__ÚevalÚSyntaxErrorrh  r  s    ru   Útest_matmulr¦  ð  sŸ   € Ü��A�˜˜A˜ÐÓ €Aàˆ1�<‰<˜‹?œnÒ,Ð,Ð,àˆ1�=‰=˜Óœ~Ò-Ð-Ð-ðÜˆWŒðÜˆW�øô ò ÙÜò Ùðûô ò ÙÜò Ùðús0   Á	A! ÁA: Á!	A7Á,A7Á6A7Á:	BÂBÂBc                  óÚ   —  G d„ dt         «      } t        ddgddgg«      } | «       }||z  t        |d|z  gd|z  d|z  gg«      k(  sJ ‚||z  t        |d|z  gd|z  d|z  gg«      k(  sJ ‚y)zd
    Test that if explicitly specified as non-matrix, mul reverts
    to scalar multiplication.
    c                   ó   — e Zd ZdZdZdZy)útest_non_matmul.<locals>.fooFrn   N)Ú__name__Ú
__module__Ú__qualname__Ú	is_MatrixÚis_MatrixLikeÚshaper{   rw   ru   Úfoor©    s   „ Øˆ	ØˆØ‰rw   r°  rj   rh   ri   rk   N)r	   r   )r°  r´   rL   s      ru   Útest_non_matmulr±  	  sŽ   € ô
Œdô ô
 	��A�˜˜A˜ÐÓ €AÙ‹€AØˆQ‰3”&˜1˜a ™c˜( Q q¡S¨!¨A©# JÐ/Ó0Ò0Ð0Ð0ØˆQ‰3”&˜1˜a ™c˜( Q q¡S¨!¨A©# JÐ/Ó0Ò0Ð0Ñ0rw   c                  óL   — t        ddddg«      } |  t        ddddg«      k(  sJ ‚y )Nrj   rh   rª   r«   ©r   rD  s    ru   Útest_negr´    s1   € Üˆq�!�a˜�VÓ€AØˆ2”˜˜1˜r 2˜hÓ'Ò'Ð'Ñ'rw   c                  óP   — t        ddddg«      } | | z
  t        ddddg«      k(  sJ ‚y )Nrj   rh   r   r³  rD  s    ru   Útest_subr¶    s3   € Üˆq�!�a˜�VÓ€AØˆq‰5”F˜1˜a ! Q Ó(Ò(Ð(Ñ(rw   c            	      ó„   — t        ddddg«      } | dz  t        ddt        j                  t        d«      dz  g«      k(  sJ ‚y r  )r   r"   r‰   rD  s    ru   Útest_divr¸  #  s@   € Üˆq�!�a˜�VÓ€AØˆQ‰3”&˜˜A¤§¡¬¨!«¨Q©Ð/Ó0Ò0Ð0Ñ0rw   c                  óB  — t        t        j                  dd«      «      g d¢k(  sJ ‚t        t        j                  d«      «      g d¢k(  sJ ‚t        t        j                  d«      «      t        k(  sJ ‚t        t        j                  dt        ¬«      «      t        k(  sJ ‚y )Nrh   ©rj   r   r   rj   rJ  )rs   r   r.   Útyper{   rw   ru   Útest_eyer¼  (  st   € Ü”—
‘
˜1˜aÓ Ó!¢\Ò1Ð1Ð1Ü”—
‘
˜1“Ó¢,Ò.Ð.Ð.Ü”—
‘
˜1“Ó¤&Ò(Ð(Ð(Ü”—
‘
˜1¤&Ô)Ó*¬fÒ4Ð4Ñ4rw   c                  ó–  — t        t        j                  dd«      «      g d¢k(  sJ ‚t        t        j                  d«      «      g d¢k(  sJ ‚t        j                  dd«      t        g d¢g d¢g«      k(  sJ ‚t        t        j                  d«      «      t        k(  sJ ‚t        t        j                  dt        ¬«      «      t        k(  sJ ‚y )Nrh   r‡  ri   ©rj   rj   rj   rJ  )rs   r   r5   r»  r{   rw   ru   Ú	test_onesr¿  /  s—   € Ü”—‘˜A˜qÓ!Ó"¢lÒ2Ð2Ð2Ü”—‘˜A“Ó¢<Ò/Ð/Ð/Ü�;‰;�q˜!Ó¤ª	²9Ð'=Ó >Ò>Ð>Ð>Ü”—‘˜A“Ó¤6Ò)Ð)Ð)Ü”—‘˜A¤6Ô*Ó+¬vÒ5Ð5Ñ5rw   c                  ó–  — t        t        j                  dd«      «      g d¢k(  sJ ‚t        t        j                  d«      «      g d¢k(  sJ ‚t        j                  dd«      t        g d¢g d¢g«      k(  sJ ‚t        t        j                  d«      «      t        k(  sJ ‚t        t        j                  dt        ¬«      «      t        k(  sJ ‚y )Nrh   rŠ  ri   rÕ   rJ  )rs   r   rI   r»  r{   rw   ru   Ú
test_zerosrÁ  7  s—   € Ü”—‘˜Q Ó"Ó#¢|Ò3Ð3Ð3Ü”—‘˜Q“Ó ¢LÒ0Ð0Ð0Ü�<‰<˜˜1Ó¤ª²IÐ(>Ó!?Ò?Ð?Ð?Ü”—‘˜Q“Ó ¤FÒ*Ð*Ð*Ü”—‘˜Q¤FÔ+Ó,´Ò6Ð6Ñ6rw   c                  ó	  ‡ ‡‡‡— t         j                  Št        ddgddgg«      Š t        dt        gt        dgg«      Št        dt        dgt        dt        gt        t        t        gg«      Š ‰‰ ‰‰«      t        g d¢g d¢dddt        ddgddt        dddgdddddt        gddddt        dgg«      k(  sJ ‚ ‰‰ ‰‰«      t        g d¢g d¢dddt        dddgddt        ddddgdddddt        dgddddt        dt        gddddt        t        t        gg«      k(  sJ ‚ ‰‰ ‰‰«      t        g d¢g d¢dddt        dddgddt        dt        ddgddt        t        t        ddgddddddt        gdddddt        dgg«      k(  sJ ‚t        t        t        t        g«      Š t        ddgdd	gg«      Št        d
dgg«      Š ‰‰ d‰‰«      t        t        dddddgt        dddddgt        dddddgg d¢g d¢g d¢g d¢g«      k(  sJ ‚t        t        ˆ ˆˆˆfd„«        ‰d«      t        dgg«      k(  sJ ‚ ‰dd¬«      t        ddgddgg«      k(  sJ ‚ ‰dd¬«      t        ddgddgg«      k(  sJ ‚ ‰ddd¬«      t        ddgddgddgg«      k(  sJ ‚ ‰ddgŽ t        ddgddgg«      k(  sJ ‚ ‰t        ddg«      «      t        dgdgg«      k(  sJ ‚ ‰dddgd	gd¬«       ‰dgddgd	ggd¬«      cxk(  rt        ddgddgd	dgg«      k(  sJ ‚ J ‚t         ‰d«      «      t         k(  sJ ‚t         ‰dt         ¬«      «      t         k(  sJ ‚t        j                  g d¢«      t        j                  ddd«      k(  sJ ‚t        j                  g d¢d¬«      j                  dk(  sJ ‚t        j                  g d¢g«      j                  dk(  sJ ‚t        j                  g d¢gd¬«      j                  dk(  sJ ‚t        j                  g d¢gg«      j                  dk(  sJ ‚t        j                  t        dd«      dd«      t        g d¢g d¢g«      k(  sJ ‚t        j                  t        dd«      dd«      t        ddgddgddgddgg«      k(  sJ ‚y )Nrj   rh   ri   )rj   rh   r   r   r   r   )rh   ri   r   r   r   r   r   )rj   rh   r   r   r   r   r   )rh   ri   r   r   r   r   r   rk   rl   rm   r—   )r   r—   r   r   r   r   )r   r   rj   rh   r   r   )r   r   ri   rk   r   r   )r   r   r   r   rl   rm   c                  ó   •—  ‰‰ d‰‰d¬«      S )Nr—   rl   ©rq   r{   ©rK   rL   rM   r*   s   €€€€ru   r    z test_diag_make.<locals>.<lambda>l  s   ø€ ™t A q¨!¨Q°QÔ7€ rw   rÄ  )rr   )rq   rr   F)ÚunpackrJ  rp   rp  rm  ©r   r   rj   r   )r   r   r   rh   )
r   r*   rP   rQ   rR   r_   r�  r»  r¯  r5   rÅ  s   @@@@ru   Útest_diag_makerÈ  ?  sQ  û€ Ü�;‰;€DÜ��A�˜˜A˜ÐÓ €AÜ�”A�œ˜A˜ÐÓ €AÜ�”A�q�	œA˜q¤!˜9¤q¬!¬Q iÐ0Ó1€AÙ��1�a‹=œFÚÚØ	
ˆAˆq”!�Q˜ÐØ	
ˆAŒq�!�Q˜ÐØ	
ˆAˆq�!�QœÐØ	
ˆAˆq�!”Q˜Ðð$ó ò ð ð ñ ��1�a‹=œFÚÚØ	
ˆAˆq”!�Q˜˜1ÐØ	
ˆAŒq�!�Q˜˜1ÐØ	
ˆAˆq�!�Qœ˜1ÐØ	
ˆAˆq�!”Q˜œ1ÐØ	
ˆAˆq�!”Qœœ1Ðð$ó ò ð ð ñ ��1�a‹=œFÚÚØ	
ˆAˆq”!�Q˜˜1ÐØ	
ˆAŒq�!”Q˜˜1ÐØ	
ˆAŒq”!”Q˜˜1ÐØ	
ˆAˆq�!�Q˜œ1ÐØ	
ˆAˆq�!�Qœ˜1Ðð$ó ò ð ð ô 	””1”aˆyÓ€AÜ��A�˜˜A˜ÐÓ €AÜ��A�ˆxÓ€Añ ��1�a˜ÓœvÜ	
ˆAˆq�!�Q˜ÐÜ	
ˆAˆq�!�Q˜ÐÜ	
ˆAˆq�!�Q˜ÐÚÚÚÚð'ó  ò ð ð ô Œ:Ö7Ô8Ù�‹7”f˜q˜c˜U“mÒ#Ð#Ð#Ù�˜Œ?œf q¨! f¨q°!¨fÐ%5Ó6Ò6Ð6Ð6Ù�˜Œ?œf q¨! f¨q°!¨fÐ%5Ó6Ò6Ð6Ð6Ù�˜ Ô"¤f¨q°!¨f°q¸!°f¸qÀ!¸fÐ-EÓ&FÒFÐFÐFÙ�!�Q�ˆ=œFØ	
ˆAˆØ	
ˆAˆð$ó ò ð ð ñ ”˜˜1�v“Ó¤6Ø	
ˆØ	
ˆð+ó $ò ð ð ñ ��Q˜�F˜A� uÔ-Ù�1�#˜˜1�v ˜sÐ#¨EÔ2ôÜ6<Ø	
ˆAˆØ	
ˆAˆØ	
ˆAˆð>ó 7òð ñ ð ð ô
 ‘�Q“‹=œFÒ"Ð"Ð"Ü‘�QœFÔ#Ó$¬Ò.Ð.Ð.Ü�;‰;’yÓ!¤V§[¡[°°A°qÓ%9Ò9Ð9Ð9Ü�;‰;’y¨Ô/×5Ñ5¸Ò?Ð?Ð?Ü�;‰;š	�{Ó#×)Ñ)¨VÒ3Ð3Ð3Ü�;‰;š	�{¨5Ô1×7Ñ7¸6ÒAÐAÐAÜ�;‰;š˜�}Ó%×+Ñ+¨vÒ5Ð5Ð5ä�;‰;”t˜A˜q“z 1 aÓ(¬FÚÚð4ó -ò ð ð ô �;‰;”t˜A˜q“z 1 aÓ(¬FØ	
ˆAˆØ	
ˆAˆØ	
ˆAˆØ	
ˆAˆð	4ó -ò ð ñ rw   c                  óˆ  ‡— t        ddt        d«      «      Š‰j                  «       } | ‰j                  d«      k(  sJ ‚t        | «      dk(  sJ ‚t        ‰j                  d«      «      dk(  sJ ‚t        ‰j                  d«      «      dk(  sJ ‚t        ‰j                  d	«      «      d
k(  sJ ‚t	        ‰j                  «       «      t	        ‰«      k(  sJ ‚t        ddddi«      }t	        |j                  «       «      t	        |«      k(  sJ ‚t	        ‰«      t	        |«      k7  sJ ‚t        t        ˆfd„«       t        t        ˆfd„«       t        t        ˆfd„«       t        d	d«      }t        t        d|j                  z
  |j                  «      D �ci c]  }|t        |j                  |«      «      “Œ c}«      |k(  sJ ‚y c c}w )Nri   r™   r   )r   rk   r˜   rj   ©rj   rl   rª   )ri   r—   rh   ©rh   rn   c                  ó&   •— ‰ j                  d«      S rÛ   ©Údiagonalr½   s   €ru   r    ztest_diagonal.<locals>.<lambda>š  s   ø€ ˜qŸz™z¨!›}€ rw   c                  ó&   •— ‰ j                  d«      S )Nro  rÍ  r½   s   €ru   r    ztest_diagonal.<locals>.<lambda>›  s   ø€ ˜qŸz™z¨"›~€ rw   c                  ó.   •— ‰ j                  t        «      S rí   )rÎ  r7   r½   s   €ru   r    ztest_diagonal.<locals>.<lambda>œ  s   ø€ ˜qŸz™z¬"›~€ rw   )r   rÌ   rÎ  Útupler»  r#   r_   r�  r5   r'   rq   rr   rs   )rN   Úsr1  rÑ   rŽ   s       @ru   Útest_diagonalrÓ  Ž  s�  ø€ Üˆq�!”U˜1“XÓ€AØ	�
‰
‹€AØ�—
‘
˜1“ÒÐÐÜ�‹8�yÒ Ð Ð Ü�—‘˜A“Ó 6Ò)Ð)Ð)Ü�—‘˜B“Ó  FÒ*Ð*Ð*Ü�—‘˜A“Ó 4Ò'Ð'Ð'Ü�—
‘
“Ó¤ a£Ò(Ð(Ð(Ü�Q˜˜F A˜;Ó'€AÜ�—
‘
“Ó¤ a£Ò(Ð(Ð(Ü�‹7”d˜1“gÒÐÐÜ
Œ:Ó,Ô-Ü
Œ:Ó-Ô.Ü
Œ:Ó-Ô.ÜˆQ�‹
€AÜÜ�q˜Ÿ™‘x §¡Ó(ö*Øð ”d˜1Ÿ:™: a›=Ó)Ñ)ò *ó +Ø./ò0ð 0ñ 0ùò *s   Æ"F?c                  óˆ  — t        j                  dd«      t        j                  dd¬«      cxk(  rkt        j                  dd¬«      cxk(  rPt        j                  ddd¬«      cxk(  r4t        j                  ddd¬«      cxk(  rt        g d¢g d	¢g d
¢g«      k(  sJ ‚ J ‚t        j                  ddd¬«      t        g d¢g d¢g d¢g«      k(  sJ ‚t        t        d„ «       t        t        d„ «       t        t        d„ «       t        t        d„ «       t        j                  dd¬«      t        j                  dd¬«      k(  sJ ‚y )Nri   rh   ©Ú
eigenvalue)ÚsizerÖ  Úupper)Úband)r×  ÚeigenvalrÖ  ©rh   rj   r   )r   rh   rj   rà   Úlower©rh   r   r   r,  r‘   c                  ó,   — t        j                  d«      S ©Nrh   ©r   Újordan_blockr{   rw   ru   r    z#test_jordan_block.<locals>.<lambda>²  s   € œv×2Ñ2°1Ó5€ rw   c                  ó.   — t        j                  dd«      S )Ng      @rh   rà  r{   rw   ru   r    z#test_jordan_block.<locals>.<lambda>´  s   € œv×2Ñ2°3¸Ó:€ rw   c                  ó.   — t        j                  d¬«      S )Nrh   rÕ  rà  r{   rw   ru   r    z#test_jordan_block.<locals>.<lambda>¶  s   € œv×2Ñ2¸aÔ@€ rw   c                  ó0   — t        j                  dd¬«      S )Nrh   rk   )rÖ  rÚ  rà  r{   rw   ru   r    z#test_jordan_block.<locals>.<lambda>¹  s   € ŒF×ÑØ˜qô"€ rw   )r×  rÚ  )r   rá  r_   r�  r{   rw   ru   Útest_jordan_blockrå  ¢  s:  € Ü×Ñ˜q !Ó$¬×(;Ñ(;¸AÈ!Ô(Lô Ü×"Ñ"¨°aÔ8ôä×"Ñ" 1 a¨gÔ6ôô ×"Ñ"Ø ¨qô2ôô
 ÚÚÚðó òð ñ ð ð ô ×Ñ˜q !¨'Ô2´fÚÚÚð>ó 7 ò  ð  ð  ô
 Œ:Ñ5Ô6ä
Œ:Ñ:Ô;ä
Œ:Ñ@ÔAä
Œ:ñ"ô#ô
 ×Ñ A°!Ô4Ü×Ñ ¨QÔ/ò0ð 0ñ 0rw   c            	      ó˜  ‡— t        ddgddgg«      } | j                  t        dgdgg«      «      t        dgdgg«      gk(  sJ ‚| j                  t        dgdgg«      d¬«      t        dt        d«      z  dz  gt        d«      dz  gg«      gk(  sJ ‚| j                  t        dgdgg«      t        dgdgg«      «      t        dgdgg«      t        t        d	d«      gt        d
d«      gg«      gk(  sJ ‚| j                  t        dgdgg«      t        dgdgg«      «      t        dgdgg«      gk(  sJ ‚| j                  t        dgdgg«      «      g k(  sJ ‚t        g d¢g d¢g d¢g«      }t        dgdgg«      t        dgdgg«      t        dgdgg«      gŠ |j                  ‰Ž t        dgdgg«      t        t        dd«      gt        dd«      gg«      gk(  sJ ‚t        g d¢«      t        g d¢«      t        g d¢«      gŠt	        t
        ˆfd„«       t        g d¢«      t        g d¢«      t        g d¢«      gŠt	        t
        ˆfd„«       y )Nrj   rh   ri   rk   T©Ú	normalizerl   rª   éôÿÿÿrm   r   )r™   rj   r™   )ri   rm   rß   )r˜   rl   rh   r¤   r«   é   é   rÕ   rp   )rj   rk   rl   c                  ó.   •— t        j                  ‰ ddiŽS ©NÚ	rankcheckT©r   Úorthogonalize©Úvecss   €ru   r    z$test_orthogonalize.<locals>.<lambda>Ò  ó   ø€ œv×3Ñ3°TÐJÀTÑJ€ rw   ro   r¬   c                  ó.   •— t        j                  ‰ ddiŽS rí  rï  rñ  s   €ru   r    z$test_orthogonalize.<locals>.<lambda>Õ  ró  rw   )r   rð  rB   r    r_   r�  )rŽ   rE  rò  s     @ru   Útest_orthogonalizerõ  Á  s`  ø€ Ü��A�˜˜A˜ÐÓ €AØ�?‰?œ6 A 3¨¨ *Ó-Ó.´6¸A¸3ÀÀ¸*Ó3EÐ2FÒFÐFÐFØ�?‰?œ6 A 3¨¨ *Ó-¸ˆ?Ó>Ü	�!”D˜“G‘)˜A‘+�¤ a£¨¡ Ð,Ó	-Ð.ò/ð /ð /à�?‰?œ6 A 3¨¨ *Ó-¬v¸°t¸a¸S°kÓ/BÓCÜ	�!��q�c�
Ó	œV¤h¨s°AÓ&6Ð%7¼(À1Àa».Ð9IÐ$JÓKÐLòMð Mð Mà�?‰?œ6 A 3¨¨ *Ó-¬v¸°t¸a¸S°kÓ/BÓCÜ	�"�˜�s�Ó	Ðòð ð à�?‰?œ6 A 3¨¨ *Ó-Ó.°"Ò4Ð4Ð4ä’	š:¢yÐ1Ó2€AÜ�R�D˜1˜#�;Ó¤¨"¨°¨s¨Ó!4´f¸r¸dÀRÀD¸\Ó6JÐK€DØˆ1�?‰?˜DÐ!Ü	�"�˜�s�Ó	œf¤x°°2£Ð&7¼(À2ÀrÓ:JÐ9KÐ%LÓMÐNòOð Oð Oô ’9Óœv¢iÓ0´&ºÓ2CÐD€DÜ
Œ:ÓJÔKä’9Óœv¢iÓ0´&ºÓ2CÐD€DÜ
Œ:ÓJÕKrw   c                  ó\  — t        j                  d«      \  } }| t        g d¢g d¢g d¢g«      k(  sJ ‚|t        g d¢g d¢g d¢g«      k(  sJ ‚t        j                  d«      \  } }| t        g d¢g d¢g d	¢g d
¢g d¢g d¢g d¢g«      k(  sJ ‚|t        g d¢g d¢g d¢g d
¢g d¢g d¢g d¢g«      k(  sJ ‚y )Nrj   )rª   rj   r   ©rj   r   rj   )r   rj   rj   ©rj   rj   r   ri   )ro  rj   r   r   r   r   r   )rj   r«   rj   r   r   r   r   )r   rj   rª   rj   r   r   r   )r   r   rj   r   rj   r   r   )r   r   r   rj   rj   rj   r   )r   r   r   r   rj   rh   rj   )r   r   r   r   r   rj   ri   )ri   rj   r   r   r   r   r   )rj   rh   rj   r   r   r   r   )r   rj   rj   rj   r   r   r   )r   Ú	wilkinson)ÚwminusÚwpluss     ru   Útest_wilkinsonrü  ×  sä   € ä×$Ñ$ QÓ'�M€FˆEØ”VÚ *Ú )Ú )ð+ó ,ò ,ð ,ð ,ð ”FÚ%Ú%Ú%ð'ó (ò (ð (ð (ô
 ×$Ñ$ QÓ'�M€FˆEØ”VÚ 8Ú 7Ú 7Ú 7Ú 7Ú 7âðó  ò  ð  ð  ð ”FÚ1Ú1Ú1Ú1Ú1Ú1Ú1ð3ó 4ò 4ð 4ñ 4rw   c            	      ó>  — t        d«      \  } }t        ddd| z  |g«      }|j                  | d«      t        ddt        dd«      |g«      k(  sJ ‚t        ddt	        | «      | z  f|ddfdd| dz  dz   ff«      }|j                  | d«      t        d|ddfd	f«      k(  sJ ‚y )
Núx yrh   rj   rl   rk   rß   r   )rj   rk   rj   )rß   rl   rj   )rD   r   Úlimitr    rA   )rP   rQ   rŽ   r´   s       ru   Ú
test_limitr   ø  s°   € Ü�5‹>�D€A€qÜˆq�!�a˜‘c˜1�XÓ€AØ�7‰7�1�a‹=œF 1 a¬(°1°a«.¸!Ð)<Ó=Ò=Ð=Ð=Ü��A”s˜1“v˜a‘xÐ  1 a¨ )¨b°!°Q¸±T¸A±XÐ->Ð?Ó@€AØ�7‰7�1�a‹=œF I°°1°a¨y¸*Ð#EÓFÒFÐFÑFrw   c                  óˆ   ‡ ‡— t        g d¢g d¢g d¢g«      Š g d¢Št        t        ˆ ˆfd„«       t        t        ˆ ˆfd„«       y )Nrp   ro   r¬   r¾  c                  ó   •— ‰ ‰z  S rí   r{   ©r1  Úvs   €€ru   r    z"test_issue_13774.<locals>.<lambda>  ó   ø€ ˜a ™c€ rw   c                  ó   •— ‰‰ z  S rí   r{   r  s   €€ru   r    z"test_issue_13774.<locals>.<lambda>  r  rw   )r   r_   rh  r  s   @@ru   Útest_issue_13774r     s-   ù€ Ü’	š9¢iÐ0Ó1€AÚ€AÜ
Œ9”kÔ"Ü
Œ9”kÕ"rw   c                  ó:  ‡‡— t        d«      Št        d«      Št        t        d„ «       t        t        ˆfd„«       t        t        ˆfd„«       t        t        ˆˆfd„«       t        d«      \  } }}t	        j
                  t        d| g‰«      «      t	        |  g«      k(  sJ ‚t	        j
                  t        d|| g‰«      «      t	        d	|  gd| gg«      k(  sJ ‚t	        j
                  t        d||| g‰«      «      t	        d	d	|  gdd	| gd	d| gg«      k(  sJ ‚y )
NrP   rQ   c                  ó,   — t        j                  d«      S ©Nrj   )r   Ú	companionr{   rw   ru   r    z test_companion.<locals>.<lambda>
  s   € œv×/Ñ/°Ó2€ rw   c                  óD   •— t        j                  t        dg‰ «      «      S r
  ©r   r  r   rt   s   €ru   r    z test_companion.<locals>.<lambda>  s   ø€ œv×/Ñ/´°a°S¸!³Ó=€ rw   c                  óF   •— t        j                  t        ddg‰ «      «      S )Nrh   rj   r  rt   s   €ru   r    z test_companion.<locals>.<lambda>  s   ø€ œv×/Ñ/´°a¸°V¸Q³Ó@€ rw   c                  óL   •— t        j                  t        ‰ ‰z  ‰ ‰g«      «      S rí   r  ©rP   rQ   s   €€ru   r    z test_companion.<locals>.<lambda>  s!   ø€ œv×/Ñ/´°Q°q±S¸1¸a¸&Ó0AÓB€ rw   zc0:3rj   r   )r$   r_   r�  rD   r   r  r   )Úc0Úc1Úc2rP   rQ   s      @@ru   Útest_companionr    s  ù€ Üˆs‹€AÜˆs‹€AÜ
Œ:Ñ2Ô3Ü
Œ:Ó=Ô>Ü
Œ:Ó@ÔAÜ
Œ:ÔBÔCä˜“�J€BˆˆBÜ×ÑœD ! R ¨!Ó,Ó-´¸"¸¸³Ò>Ð>Ð>Ü×ÑœD ! R¨ ¨aÓ0Ó1Ü��R�C�˜1˜r˜c˜(Ð#Ó$ò%ð %ð %ä×ÑœD ! R¨¨R °!Ó4Ó5Ü��A˜�s�˜a  R C˜[¨1¨a°"°¨+Ð6Ó7ò8ð 8ñ 8rw   c            	      óP  — t        d«      \  } }}t        | ||g«      }|j                  t        | ||gg d¢«      «      }|t        dgdgdgg«      k(  sJ ‚t        | | | | | g| | | | | g| | | | | gg«      }|j                  t        | gdg«      «      }|t        g d¢g d¢g d¢g«      k(  sJ ‚y )Nzx, y zrp   rj   rh   ri   )rj   rj   rj   rj   rj   )rD   r   ru  Úzip)rP   rQ   rR   rñ   rò   s        ru   Útest_issue_10589r    s½   € Ü�hÓ�G€A€qˆ!Ü	��A�q�	Ó	€BØ	�‰”�a˜˜A�Y¢	Ó*Ó	+€BØ”˜!˜˜q˜c A 3˜Ó(Ò(Ð(Ð(ä	�!�Q˜˜1˜a� 1 a¨¨A¨q /°A°q¸!¸QÀ°?ÐCÓ	D€BØ	�‰”�a�S˜1˜#“Ó	€BØ”šª/º?ÐKÓLÒLÐLÑLrw   c                  óª   —  G d„ dt         «      } t        ddg d¢«      } | ddg d¢«      }||z  }t        || «      sJ ‚|t        ddgddgg«      k(  sJ ‚y )	Nc                   ó*   — e Zd Zej                  dz   Zy)útest_rmul_pr19860.<locals>.Foog{®Gáz„?N)rª  r«  r¬  r   Ú_op_priorityr{   rw   ru   ÚFoor  #  s   „ Ø)×6Ñ6¸Ñ=‰rw   r  rh   r  r—   rß   é   é   )r   r   Ú
isinstance)r  rK   rL   rM   s       ru   Útest_rmul_pr19860r   "  sh   € ô>Ô"ô >ô 	ˆq�!’\Ó"€AÙˆAˆq’,Ó€Að 	
ˆ!‰€Aä�a˜ÔÐÐØ”˜˜B˜ " b Ð*Ó+Ò+Ð+Ñ+rw   c                  óœ   ‡ ‡— t        ddgddgg«      Š t        ddgddgg«      Št        t        ˆ ˆfd„«       t        t        ˆ ˆfd„«       y )Nrj   rh   ri   rk   c                  ó   •— ‰‰ z   S rí   r{   ©r´   rµ   s   €€ru   r    z"test_issue_18956.<locals>.<lambda>4  ó   ø€ ˜a !™e€ rw   c                  ó   •— ‰ ‰z   S rí   r{   r#  s   €€ru   r    z"test_issue_18956.<locals>.<lambda>5  r$  rw   )r   r   r_   rh  r#  s   @@ru   Útest_issue_18956r&  1  sD   ù€ Ü��1ˆv˜˜1�vÐÓ€AÜ��1��q˜�eˆ}Ó€AÜ
Œ9”mÔ$Ü
Œ9”mÕ$rw   c                  ó†   —  G d„ dt         «      } t        ddddg«      }| | «       k7  sJ ‚ G d„ d| «      }| |«       k(  sJ ‚y )Nc                   ó   — e Zd Zd„ Zd„ Zy)útest__eq__.<locals>.Myc              3   ó   K  — d–— d–— y ­wr  r{   ©Úselfs    ru   Ú__iter__ztest__eq__.<locals>.My.__iter__:  s   è ø€ ØŠGØŠGØùs   ‚
c                 ó   — t        | «      |   S rí   )rs   )r,  rÑ   s     ru   Ú__getitem__z"test__eq__.<locals>.My.__getitem__>  s   € Ü˜“:˜a‘=Ð rw   N)rª  r«  r¬  r-  r/  r{   rw   ru   ÚMyr)  9  s   „ ò	ó	!rw   r0  rh   rj   c                   ó   — e Zd Zd„ Zy)útest__eq__.<locals>.My_sympyc                 ó   — t        | «      S rí   r³  r+  s    ru   Ú_sympy_z$test__eq__.<locals>.My_sympy._sympy_C  s   € Ü˜$“<Ðrw   N)rª  r«  r¬  r4  r{   rw   ru   ÚMy_sympyr2  B  s   „ ó	 rw   r5  )Úobjectr   )r0  rK   r5  s      ru   Ú
test__eq__r7  8  sL   € ô!ŒVô !ô 	ˆq�!�a˜�VÓ€AØ‘“Š9Ðˆ9ô �2ô  ð ‘“
Š?Ð‰?rw   c                  ó  — t        t        «      D ]ï  \  } }|j                  dd«      }|j                  dk(  rt	        d„ |j                  D «       «      sJ ‚|j
                  dk(  rt        |j
                  «      t        u sJ ‚|j                  dk(  rt        |j                  «      t        u sJ ‚| dz  s-t        |j                  «       «      t        t        t        fv rŒÍJ ‚t        |j                  «       «      t        u rŒïJ ‚ y )Nri   rh   )ri   rh   c              3   ó>   K  — | ]  }t        |«      t        u –— Œ y ­wrí   )r»  rf  )r=  rÑ   s     ru   r>  ztest_args.<locals>.<genexpr>L  s   è ø€ Ò(I¸A¬¨a«´C¬Ñ(Iùs   ‚)Ú	enumerateÚall_classesrI   r¯  rF  rq   r»  rf  rr   rÏ   rs   rÑ  r%   r�   r“   )rE  rK  rŽ   s      ru   Ú	test_argsr<  H  sÊ   € ÜœKÓ(ò 	+‰ˆˆ3Ø�I‰I�a˜‹Oˆà�w‰w˜&Ò ¤SÑ(IÀÇÁÔ(IÔ%IÐIÐIØ�v‰v˜Š{œt A§F¡F›|¬sÑ2Ð2Ð2Ø�v‰v˜Š{œt A§F¡F›|¬sÑ2Ð2Ð2Ø�1ŠuÜ˜Ÿ™›“>¤d¬E´5Ð%9Ò9Ð9Ð9ä˜Ÿ™›	“?¤dÒ*Ð*Ð*ñ	+rw   c                  ó�  — t         t        fD ]H  } | j                  dd«      }t        «       5  |j                  }d d d «       |j                  «       k(  rŒHJ ‚ t        t        fD ]H  } | j                  dd«      }t        «       5  |j                  }d d d «       |j                  «       k(  rŒHJ ‚ y # 1 sw Y   ŒxxY w# 1 sw Y   Œ-xY w©Nri   rh   )
r   r   rI   rc   Ú_matrÏ   r#   r   Ú_smatr�   )rK  rŽ   ÚmatÚsmats       ru   Útest_deprecated_mat_smatrC  U  s¹   € Ü”Ð&ò ˆØ�I‰I�a˜‹OˆÜ#Ó%ñ 	Ø—&‘&ˆC÷	à�a—f‘f“h‹Ðˆð	ô
 Ô2Ð2ò !ˆØ�I‰I�a˜‹OˆÜ#Ó%ñ 	Ø—7‘7ˆD÷	à�q—w‘w“yÓ Ð Ð ñ	!÷	ð 	ú÷
	ð 	ús   ¬B0ÂB<Â0B9	Â<C	c                  ó”   — t        ddt        t        g«      } | t        z  t        ddt        t        z  t        t        z  g«      k(  sJ ‚y r  )r   rP   rQ   rR   )r  s    ru   Útest_divisionrE  b  s;   € Üˆq�!”aœ�VÓ€AØŒQ‰3”&˜˜A¤¤!¡¤Q¤q¡S˜zÓ*Ò*Ð*Ñ*rw   c            	      óF  ‡ ‡— t        g d¢t        t        t        gdt        z  dt        t        z  gg«      Š ‰ ‰ z   t        g d¢dt        z  dt        z  dt        z  gdt        z  ddt        z  t        z  gg«      k(  sJ ‚t        ddddg«      Št	        t
        ˆ ˆfd„«       y )	Nrp   rh   r—  r˜  rk   r™  rj   c                  ó   •— ‰ ‰z   S rí   r{   r›  s   €€ru   r    ztest_sum.<locals>.<lambda>k  rœ  rw   r�  r›  s   @@ru   Útest_sumrH  g  rŸ  rw   c                  ó&  — t        ddgt        t        gg«      } t        | «      t        ddgt	        t        «      t	        t        «      gg«      k(  sJ ‚t        dddt        g«      } t        dddt	        t        «      g«      }t        | «      |k(  sJ ‚y )Nrj   r«   rh   ro  ri   )r   rP   rQ   Úabsr   r›  s     ru   Útest_absrK  n  s~   € Ü��B�œ!œQ˜Ð Ó!€AÜˆq‹6”V˜a ˜V¤c¬!£f¬c´!«fÐ%5Ð6Ó7Ò7Ð7Ð7Üˆq�!�bœ!�WÓ€AÜˆq�!�aœœQ›�[Ó!€AÜˆq‹6�QŠ;Ð‰;rw   c                  ó”   — t        d«      } t        d«      }| |z    | j                  |«      cxk(  rt        ddgddgg«      k(  sJ ‚ J ‚y )N)©rj   rh   rp  ©rM  )ri   r   rh   rk   rm   rj   )r   Úadd©rK   rL   s     ru   Útest_additionrQ  v  s]   € Üð ó 	€Aô
 	ð ó 	€Að
 ˆq‰5�E�A—E‘E˜!“HÔ8¤¨¨A¨°°A°Ð'7Ó 8Ò8Ð8Ñ8Ð8Ñ8rw   c            
      óª  — t         t        fD �]›  }  | ddt        d«      «      }||d d …d d …f   k(  sJ ‚|dd d …f   t        ddg d¢«      k(  sJ ‚|d d …df   t        g d¢«      k(  sJ ‚|ddgd d …f   t        g d¢g d¢g«      k(  sJ ‚|ddgdf   |ddgdgf   k(  sJ ‚|dddgf   |dgddgf   k(  sJ ‚|d d …ddgf   t        ddgdd	gd
dgg«      k(  sJ ‚|d   dk(  sJ ‚|dd…d d …f   t        g d¢g d¢g«      k(  sJ ‚|d d …dd…f   t        ddgdd	gd
dgg«      k(  sJ ‚|d d d…df   |ddgdf   k(  sJ ‚|dd d d…f   |dddgf   k(  sJ ‚ | ddt        d«      «      }|g d¢d d …f   t        g d¢g d¢g d¢g d¢g d¢g«      k(  sJ ‚|d d …g d¢f   t        g d¢g d¢g d¢g«      k(  r�ŒœJ ‚ t        j                  d«      }d|d<   d|d<   d	|d<    |j                  ddgdg«      t        dgdgg«      k(  sJ ‚ |j                  ddgg d¢«      t        g d¢g d¢g«      k(  sJ ‚ |j                  g d¢g d¢«      t        g d¢g d¢g d¢g d¢g«      k(  sJ ‚y )Nri   r™   rj   rù   rº   r   r‘   rh   rk   rm   r—   r~   )r   rh   rj   rh   rj   rú   )ri   rl   rk   rl   rk   )rm   r˜   r—   r˜   r—   rM  r   ©rh   r   )rh   rh   rh   rÕ   )rj   r   rj   rh   )rh   r   rj   r   ©rh   r   r   r   )r   r   ri   r   )r   rk   r   rk   )r   r#   rÌ   rI   rä   )r1  rK   s     ru   Útest_fancy_index_matrixrU  „  s!  € Ü”lÐ#ó ˆÙˆa�”E˜!“HÓˆØ�A’aš�d‘GŠ|Ðˆ|Ø�’A�‰wœ&  A¢yÓ1Ò1Ð1Ð1Ø’�A�‰wœ&¢Ó+Ò+Ð+Ð+Ø�!�Q�š�‰|œv¢y²)Ð&<Ó=Ò=Ð=Ð=Ø�!�Q�˜�‰|˜q ! Q ¨!¨ ™~Ò-Ð-Ð-Ø��Q˜�F�‰|˜q !  q¨! f ™~Ò-Ð-Ð-Ø’�Q˜�F�‰|œv¨¨1 v°°1¨v¸¸1°vÐ&>Ó?Ò?Ð?Ð?Ø�‰w˜!Š|Ðˆ|Ø��1�’a�‰yœF¢IªyÐ#9Ó:Ò:Ð:Ð:Ø’�A�a�C�‰yœF Q¨ F¨Q°¨F°Q¸°FÐ#;Ó<Ò<Ð<Ð<Ø‘�1��a�‰y˜A˜q !˜f a˜i™LÒ(Ð(Ð(Ø�‘C�a�C�‰y˜A˜a ! Q ˜i™LÒ(Ð(Ð(Ùˆa�”E˜!“HÓˆØ’¢!Ð#Ñ$¬ÚÚÚÚÚð0ó )ò ð 	ð ð ’’K�Ñ ¤FÚÚÚð,ó %ô ð 	ð ð+ô4 	×Ñ˜1Ó€AØ€A€d�GØ€A€d�GØ€A€d�GØˆ1�9‰9�a˜�V˜a˜SÓ!¤VØ€CØ€Cð-	ó &
ò 
ð 
ð 
ð ˆ1�9‰9�a˜�VšYÓ'¬6ÚÚð3ó ,ò ð ð ð ˆ1�9‰9’\¢<Ó0´FÚÚÚÚð	<ó 5ò ð ñ rw   c                  ó2  ‡‡— t        d«      Št        d«      Št        t        ˆˆfd„«       t        t        ˆfd„«       ‰‰z  } | d   dk(  sJ ‚| d   dk(  sJ ‚| d	   d
k(  sJ ‚| d   d
k(  sJ ‚| d   dk(  sJ ‚| d   dk(  sJ ‚‰‰z  } | d   dk(  sJ ‚| d   dk(  sJ ‚| d	   d
k(  sJ ‚| d   d
k(  sJ ‚| d   dk(  sJ ‚| d   dk(  sJ ‚t	        ‰| «      }| ‰j
                  | «      k(  sJ ‚|d   dk(  sJ ‚|d   dk(  sJ ‚|d	   dk(  sJ ‚|d   d
k(  sJ ‚|d   dk(  sJ ‚|d   dk(  sJ ‚t        t        ˆˆfd„«       ‰t        d«      z  } t        | t         «      sJ ‚| d   t        k(  sJ ‚| d   dt        z  k(  sJ ‚| d	   dt        z  k(  sJ ‚| d   dk(  sJ ‚t        ‰z  }| |k(  sJ ‚d‰z  } t        | t         «      sJ ‚| d   dk(  sJ ‚| d   dk(  sJ ‚| d	   dk(  sJ ‚| d   dk(  sJ ‚t        t        dgdt        gg«      }|dz  |k(  sJ ‚t        t        t        gddgg«      }|dz  t        t        t        gt        t        gg«      k(  sJ ‚t        t        dd«      «      }t        dd«       }t        |||g«      }|j                  |«      t        |g|g|gg«      k(  sJ ‚y )N)rM  rp  ©r   rm   rN  c                  ó   •— ‰‰ z  S rí   r{   rP  s   €€ru   r    z%test_multiplication.<locals>.<lambda>¼  s   ø€ ˜q ™s€ rw   c                  ó   •— ‰ i z  S rí   r{   r  s   €ru   r    z%test_multiplication.<locals>.<lambda>½  s   ø€ ˜a ™d€ rw   r~   r—   r   rh   r€   rm   rn   rS  é   rl  r   rk   c                  ó   •— t        ‰ ‰«      S rí   )r3   rP  s   €€ru   r    z%test_multiplication.<locals>.<lambda>×  s   ø€ Ô:¸1¸aÓ@€ rw   rP   ri   rl   rß   r  rj   )r   r_   rX   rh  r3   Úmultiply_elementwiser$   r  rP   r6   r4   r5   r    )	rM   Úhr  r1  r´   Ú_hrµ   rK   rL   s	          @@ru   Útest_multiplicationr_  °  s9  ù€ Üð ó 	€Aô 	ð ó 	€Aô
 Œ:”{Ô#Ü
Œ9“lÔ#à	ˆ!‰€AØˆT‰7�aŠ<Ðˆ<ØˆT‰7�aŠ<Ðˆ<ØˆT‰7�aŠ<Ðˆ<ØˆT‰7�aŠ<Ðˆ<ØˆT‰7�bŠ=Ðˆ=ØˆT‰7�aŠ<Ðˆ<à	ˆA‰€AØˆT‰7�aŠ<Ðˆ<ØˆT‰7�aŠ<Ðˆ<ØˆT‰7�aŠ<Ðˆ<ØˆT‰7�aŠ<Ðˆ<ØˆT‰7�bŠ=Ðˆ=ØˆT‰7�aŠ<Ðˆ<ä# A qÓ)€AØÐ&�×&Ñ& qÓ)Ò)Ð)Ð)ØˆT‰7�aŠ<Ðˆ<ØˆT‰7�aŠ<Ðˆ<ØˆT‰7�bŠ=Ðˆ=ØˆT‰7�aŠ<Ðˆ<ØˆT‰7�aŠ<Ðˆ<ØˆT‰7�aŠ<Ðˆ<Ü
Œ:Ô@ÔAà	ŒF�3‹K‰€AÜ�aœÔ Ð Ð ØˆT‰7”aŠ<Ðˆ<ØˆT‰7�aœ‘cŠ>Ðˆ>ØˆT‰7�aœ‘cŠ>Ðˆ>ØˆT‰7�aŠ<Ðˆ<ä	
ˆQ‰€BØ�Š7€Nˆ7à	ˆA‰€AÜ�aœÔ Ð Ð ØˆT‰7�aŠ<Ðˆ<ØˆT‰7�cŠ>Ðˆ>ØˆT‰7�cŠ>Ðˆ>ØˆT‰7�aŠ<Ðˆ<ä”�Q�˜!œR˜Ð!Ó"€AØ�‰6�QŠ;Ðˆ;ä””R�˜1˜a˜&Ð!Ó"€AØ�‰6”Vœc¤3˜Z¬#¬s¨Ð4Ó5Ò5Ð5Ð5ô 	Œt�A�q‹zÓ€AÜ
�1�a‹.ˆ€BÜ��B˜ˆ|Ó€AØ×!Ñ! !Ó$¬Ø	ˆØ	ˆØ	ˆð0ó )ò ð ñ rw   c                  ó�  ‡ ‡‡‡— t        t        d„ «       t        ddgddgg«      Š ‰ dz  t        ddgdd	gg«      k(  sJ ‚t        g d
¢g d¢g d¢g«      Š ‰ dz  t        g d¢g d¢g d¢g«      k(  sJ ‚‰ dz  t        d«      k(  sJ ‚‰ dz  ‰ k(  sJ ‚t        dgg«      dz  d   ddz  k(  sJ ‚t        ddgddgg«      t	        d«      z  t        ddgddgg«      k(  sJ ‚t        ddgddgg«      Š ‰ j                  dd¬«      ‰ j                  dd¬«      k(  sJ ‚‰ t	        d«      z  t        ddgddgg«      k(  sJ ‚t        d«      d z  t        d«      k(  sJ ‚t        ddgd!d"gg«      Š ‰ t        j                  z  d d  g d#¢k(  sJ ‚t        ddgd$dgg«      Š ‰ t        j                  z  dz  ‰ k(  sJ ‚t        ddgddgg«      t        j                  z  t        ddgt        j                  dgg«      k(  sJ ‚t        ddgddgg«      d%z  t        ddgd%dgg«      k(  sJ ‚dd&lm	Š t        dt        gddgg«      ‰z  t        dt        ‰z  gddgg«      k(  sJ ‚t        t        t        gdt        gg«      ‰z  t        t        ‰z  t        t        ‰dz
  z  z  ‰z  gdt        ‰z  gg«      k(  sJ ‚t        t        ‰z  t        ‰dz
  z  ‰z  t        ‰z  ‰dz  z  t        ‰z  ‰z  z
  dt        dz  z  z  gdt        ‰z  t        ‰dz
  z  ‰z  gddt        ‰z  gg«      sJ ‚t        t        ddgdt        dgddt        gg«      ‰z  t        t        ‰z  t        ‰dz
  z  ‰z  dgdt        ‰z  dgddt        ‰z  gg«      k(  sJ ‚t        ddgddgg«      Š ‰ j                  t        d«      «      ‰ j                  d«      k(  sJ ‚t        dgg«      Š ‰ dz  t        d'gg«      cxk(  r3‰ j                  t        d«      «      cxk(  r‰ j                  d«      k(  sJ ‚ J ‚t        g d(¢g d)¢g d*¢g d+¢g d,¢g«      Št        t        ˆfd-„«       t        t        d.„ «       t        g d/¢g d0¢g d1¢g«      Š ‰ d2z  t        g d1¢g d1¢g d1¢g«      k(  sJ ‚t        t        ˆ fd3„«       t        t        ˆ fd4„«       t        d5dgddgg«      Š ‰ d2z  t        d6d7gd8d9gg«      k(  sJ ‚t        g d0¢g d0¢g d0¢g«      Š ‰ d2z  t        g d0¢g d0¢g d0¢g«      k(  sJ ‚t        g d/¢g d0¢g d0¢g«      Š ‰ d2z  t        g d0¢g d0¢g d0¢g«      k(  sJ ‚t!        d:d;¬<«      Št#        ‰ ‰z  t$        «      sJ ‚t!        d:d;d;¬=«      Št        t        ˆ ˆfd>„«       t!        d:d;d;¬?«      Š‰ ‰z  t        t'        d‰«      t'        d‰«      t'        d‰«       t'        d‰«      z
  dz   gdt'        d‰«      dt'        d‰«      z
  gg d0¢g«      k(  sJ ‚‰ ‰dz   z  t        g d0¢g d0¢g d0¢g«      k(  sJ ‚t        t        ˆ fd@„«       t        g d0¢g dA¢g dB¢g«      Š ‰ dCz  t        g dD¢g dE¢g dF¢g«      k(  sJ ‚‰ dCz  ‰ dz  k(  sJ ‚t        g d/¢g dG¢g d1¢g«      Š t!        d:«      Š‰ ‰z  Š‰j)                  ‰d«      j+                  «       ‰ dz  k(  sJ ‚t        t        ˆˆfdH„«       ‰‰z  ‰ d‰z  z  k(  sJ ‚t        g d1¢g d1¢g d1¢g«      Š t!        d:d;d;¬I«      Š‰ ‰z  ‰ k(  sJ ‚t!        d:d;d;¬?«      Š‰ ‰z  t-        d‰z  d‰z  d‰z  «      k(  sJ ‚‰ ‰z  j)                  ‰d«      t        d«      k(  sJ ‚‰ ‰z  j)                  ‰d«      t/        d«      k(  sJ ‚t        g dJ¢g dK¢g dL¢g«      Š ‰ dMz  t-        dNdNdN«      k(  sJ ‚‰ t0        z  t-        dt0        z  dt0        z  dt0        z  «      k(  sJ ‚t        g d/¢g d0¢g d0¢g«      Š t        t        ˆ fdO„«       t        t        ˆ fdP„«       t        t        j                  t        j                  gt        j                  t        j                  gg«      Š ‰ t        j                  z  ‰ k(  sJ ‚t        ddgddgg«      Š ‰ t        j                  z  t        t        j                  t        j                  gdt        j                  z  dt        j                  z  gg«      k(  sJ ‚y )QNc                  ó   — t        d«      dz  S ©NrM  rh   r³  r{   rw   ru   r    ztest_power.<locals>.<lambda>û  s   € ¬°«¸Ñ):€ rw   rh   ri   rk   rl   iü  i¡  i,*  i�7  )rh   rj   ri   )rk   rh   rk   )rm   rx  rj   )i"  i  éû   )iÀ  i¸  ip  )i¾  iº  i±  r   rj   éd   r~   r—   rß   r  r  é   Úcayley©ÚmethodÚmultiplyr™   rx  é   é!   i€–˜ é0   é9   )rl   rh   rk   r—   rª   g      à?rD  i   )ri   r   r   r   ro  )r   ro  ro  r   ri   )r   ri   r   ri   r   )r   r   ri   r   ri   )ri   r   r   ri   r   c                  ó8   •— ‰ j                  t        d«      «      S ©Nrß   )Ú_matrix_pow_by_jordan_blocksr"   r½   s   €ru   r    ztest_power.<locals>.<lambda>%  s   ø€  × >Ñ >¼qÀ»uÓ E€ rw   c                  óT   — t        ddgddgg«      j                  t        d«      «      S )Nrj   ri   éöÿÿÿ)r   rp  r"   r{   rw   ru   r    ztest_power.<locals>.<lambda>(  s*   € ¤¨¨A¨°°A°Ð'7Ó 8× UÑ UÔVWÐX[ÓV\Ó ]€ rw   rÅ   rÆ   rÕ   ç      $@c                  ó   •— ‰ dz  S ©NçÍÌÌÌÌÌ @r{   r  s   €ru   r    ztest_power.<locals>.<lambda>+  ó   ø€ ˜q #™v€ rw   c                  ó"   •— ‰ t        dd«      z  S r>  ©r    r  s   €ru   r    ztest_power.<locals>.<lambda>,  ó   ø€ ˜q¤(¨1¨a£.Ñ0€ rw   r˜   i«ÒòhiÒO<ivï´0i¿óˆrE  T)Úinteger)r{  Únegativec                  ó   •— ‰ ‰z  S rí   r{   )r´   rE  s   €€ru   r    ztest_power.<locals>.<lambda>6  s   ø€ ˜q !™t€ rw   )r{  Únonnegativec                  ó"   •— ‰ t        dd«      z  S r>  ry  r  s   €ru   r    ztest_power.<locals>.<lambda>=  rz  rw   )ri   r   rj   )rk   ri   rj   g      @)é¨   éH   éY   )i#  é�   é¡   )i<  i  iI  ©rª   r   r   c                  óD   •— ‰ j                  ‰d«      j                  «       S )Nr«   )ru  r6  )ÚAnrE  s   €€ru   r    ztest_power.<locals>.<lambda>E  s   ø€ ˜rŸw™w q¨"›~×2Ñ2Ó4€ rw   )r{  ÚpositiverÝ  )r   rh   r   rà   rv  gd%îû%@c                  ó   •— ‰ dz  S ru  r{   r  s   €ru   r    ztest_power.<locals>.<lambda>T  rw  rw   c                  ó   •— ‰ t         z  S rí   ©r   r  s   €ru   r    ztest_power.<locals>.<lambda>U  s   ø€ ˜q¤!™t€ rw   )r_   rW   r   r.   r   Úpowr"   r‰   Ú	sympy.abcrE  rK   rL   rp  Ú_eval_pow_by_recursionrV   r�  r$   r  r   r   ru  r6  r*   rI   r   )r´   r‡  rŽ   rE  s   @@@@ru   Ú
test_powerr�  ú  sç  û€ Ü
ÔÑ!:Ô;ä��A�˜˜A˜ÐÓ €AØˆa‰4”6˜D $˜<¨%°¨Ð8Ó9Ò9Ð9Ð9Ü’	š9¢jÐ1Ó2€AØˆa‰4”6š?ªOº_ÐMÓNÒNÐNÐNØˆa‰4”3�q“6Š>Ðˆ>Øˆa‰4�1Š9Ðˆ9Ü�Q�C�5‹M˜SÑ  $Ñ'¨1¨c©6Ò1Ð1Ð1Ü�A�q�6˜A˜q˜6Ð"Ó#¤W¨Q£ZÑ/´6¸A¸r¸7ÀRÈÀHÐ:MÓ3NÒNÐNÐNÜ��1��q˜�eˆ}Ó€AØ�5‰5�˜Hˆ5Ó%¨¯©¨r¸*¨Ó)EÒEÐEÐEØŒg�a‹j‰=œF Q¨ G¨b°"¨XÐ#6Ó7Ò7Ð7Ð7Üˆq‹6�8Ñœs 1›vÒ%Ð%Ð%ä��R�˜2˜r˜(Ð#Ó$€AØŒq�v‰v‰I‘qˆ>š\Ò)Ð)Ð)Ü��A�˜˜Q˜Ð Ó!€AØŒq�v‰v‰I˜‰>˜QÒÐÐä�A�q�6˜A˜q˜6Ð"Ó#¤Q§V¡VÑ+¬v¸¸1°vÄÇÁÈ¸{Ð6KÓ/LÒLÐLÐLÜ�A�q�6˜A˜q˜6Ð"Ó# SÑ(¬F°Q¸°F¸SÀ!¸HÐ3EÓ,FÒFÐFÐFÝÜ�A”q�6˜A˜q˜6Ð"Ó# QÑ&¬&°1´a¸±c°(¸QÀ¸FÐ1CÓ*DÒDÐDÐDÜ”A”q�6˜Aœq˜6Ð"Ó# QÑ&¬&´1°a±4¼¼1¸qÀ¹s¹8¹ÀA¹Ð2FÈÌAÈqÉDÈ	Ð1RÓ*SÒSÐSÐSÜÜ	
ˆA‰Œq�1�q‘5‰z˜!‰|œa ™d 1 a¡4™i¬!¨Q©$¨q©&Ñ0°1´Q¸±T±6Ñ:Ð;Ø”q˜!‘t¬a°!°a±%©j¸©lÐ;Ø˜!´a¸±dÐ;ð=ô >ð >ð >ô ”A�q˜!�9˜q¤! Q˜i¨!¨Q´¨Ð3Ó4°aÑ7¼6Ü	
ˆA‰Œq�1�Q‘3‰x˜‰z˜1ÐØ	
ŒAˆq‰D�!ˆØ	
ˆAŒq�!‰tˆðCó <ò ð ð ô
 	��A�˜˜A˜ÐÓ €AØ×)Ñ)¬!¨A«$Ó/°1×3KÑ3KÈAÓ3NÒNÐNÐNÜ��ˆu‹€AØˆb‰5”F˜U˜G˜9Ó%ô %¨×)GÑ)GÌÈ"ËÓ)Nô %Ø	× Ñ  Ó$ò%ð %ñ %ð %ð %ô 	Ò Ò"3²_ÂoÒWfÐgÓh€AÜ
Œ;ÓEÔFô Œ;Ñ]Ô^Ü’	š9¢iÐ0Ó1€AØˆd‰7”fšiª²IÐ>Ó?Ò?Ð?Ð?Ü
Œ:“~Ô&Ü
Œ:Ó0Ô1Ü��A�˜˜A˜ÐÓ €AØˆd‰7”f˜z¨9Ð5¸	À9Ð7MÐNÓOÒOÐOÐOÜ’	š9¢iÐ0Ó1€AØˆd‰7”fšiª²IÐ>Ó?Ò?Ð?Ð?Ü’	š9¢iÐ0Ó1€AØˆd‰7”fšiª²IÐ>Ó?Ò?Ð?Ð?Üˆs˜DÔ!€AÜ�a˜‘dœFÔ#Ð#Ð#Üˆs˜D¨4Ô0€AÜ
Œ:”|Ô$Üˆs˜D¨dÔ3€AØˆa‰4”6Ü	˜˜1Ó	œ~¨a°Ó3´nÀQÈÓ6JÐ5JÌ^Ð\]Ð_`ÓMaÑ5aÐdeÑ5eÐfØœ~¨a°Ó3ÈQÔQ_Ð`aÐcdÓQeÑMeÐfÚfðhó iò ið ið ið ˆq�1‰u‰:œ¢ªI²yÐ AÓBÒBÐBÐBÜ
Œ:Ó0Ô1Ü’	š9¢iÐ0Ó1€AØˆc‰6”Vš_ªoºÐOÓPÒPÐPÐPØˆc‰6�Q˜‘TŠ>Ðˆ>Ü’	š*¢YÐ/Ó0€AÜˆs‹€AØ	
ˆA‰€BØ�7‰7�1�a‹=×ÑÓ 1 a¡4Ò'Ð'Ð'Ü
Œ:Ô4Ô5Ø�‰7�a˜!˜A™#‘hÒÐÐô 	’š¢Ð(Ó)€AÜˆs˜D¨4Ô0€AØˆa‰4�1Š9Ðˆ9Üˆs˜D¨dÔ3€AØˆa‰4”4˜˜1™˜a ™d A q¡DÓ)Ò)Ð)Ð)Øˆq‰D�;‰;�q˜!Ó¤ A£Ò&Ð&Ð&Øˆq‰D�;‰;�q˜!Ó¤ a£Ò(Ð(Ð(Ü’š¢Ð)Ó*€AØˆc‰6”T˜6 6¨6Ó2Ò2Ð2Ð2ØŒa‰4”4˜œA™˜q¤!™t Q¬¡TÓ*Ò*Ð*Ð*Ü’	š9¢iÐ0Ó1€AÜ
Œ:“~Ô&Ü
Œ:“|Ô$Ü”—‘œŸ™Ð ¤1§6¡6¬1¯6©6Ð"2Ð3Ó4€AØŒa�f‰f‰9˜Š>Ðˆ>Ü��A�˜˜1�vˆÓ€AØŒa�f‰f‰9œ¤!§&¡&¬!¯&©&Ð!1°A´a·f±f±H¸aÄÇÁ¹hÐ3GÐ HÓIÒIÐIÑIrw   c            
      ó   — t        dt        z   dt        z
  gdt        z
  dt        z   gg«      } t        d«      5  | j                  «       j	                  «       t        t        dt        z  «      t        d«      z   dz  t        dt        z  «       t        d«      z   dz  gt        dt        z  «       t        d«      z   dz  t        dt        z  «      t        d«      z   dz  gg«      k(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Nrj   Trh   )r   rP   r\   r,   r-   r0  s    ru   Ú$test_issue_17247_expression_blowup_1r‘  \  sÝ   € Ü�”1‘�aœ‘c�
˜Qœq™S !¤A¡#˜JÐ'Ó(€AÜ	�TÓ	ñ ?Ø�u‰u‹w�~‰~Ó¤6Ü�1”Q‘3‹xœ#˜a›&Ñ  !Ñ#¤s¨1¬Q©3£x i´#°a³&Ñ&8¸!Ñ%;Ð<Ü�1”Q‘3‹xˆiœ#˜a›&Ñ  !Ñ#¤s¨1¬Q©3£x´#°a³&Ñ'8¸!Ñ&;Ð<ð+>ó $?ò ?ð 	?ñ ?÷?÷ ?ñ ?ús   ¹B1C4Ã4C=c                  óö   — t        dt        z   dt        z
  gdt        z
  dt        z   gg«      } t        d«      5  | j                  «       \  }}||z  |j	                  «       z  sJ ‚	 d d d «       y # 1 sw Y   y xY w©Nrj   T)r   rP   r\   Újordan_formÚinv©r1  ÚPÚJs      ru   Ú$test_issue_17247_expression_blowup_2r™  d  sl   € Ü�”1‘�aœ‘c�
˜Qœq™S !¤A¡#˜JÐ'Ó(€AÜ	�TÓ	ñ Ø�}‰}Ó‰ˆˆ1Ø�‰s�1—5‘5“7Š{Ð‰{÷÷ ñ ús   ¹,A/Á/A8c            	      ó:  — t        dt        z   dt        z
  gdt        z
  dt        z   gg«      } t        d«      5  | dz  t        dt        dz  z  dz   ddt        dz  z  z
  gddt        dz  z  z
  dt        dz  z  dz   gg«      k(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Nrj   Trd  l                )r   rP   r\   r0  s    ru   Ú$test_issue_17247_expression_blowup_3r›  k  sì   € Ü�”1‘�aœ‘c�
˜Qœq™S !¤A¡#˜JÐ'Ó(€AÜ	�TÓ	ñ _Ø�#‰vœØ+¬A¨s©FÑ2Ð5SÑSÐUsð  wUô  VWð  Y\ñ  V\ñ  w\ñ  V\ð  ]Ø+Ð.LÌQÐPSÉVÑ.SÑSÐUsÔtuÐwzÑtzÑUzð  ~\ñ  V\ð  ]ð!^ó _ò _ð 	_ñ _÷_÷ _ñ _ús   ¹ABÂBc                  ó¦   — t        t        d«      «      } t        d«      5  | dz  t        t        d«      «      k(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Na1  [
        [             -3/4,       45/32 - 37*I/16,         1/4 + I/2,      -129/64 - 9*I/64,      1/4 - 5*I/16,      65/128 + 87*I/64],
        [-149/64 + 49*I/32, -177/128 - 1369*I/128,  125/64 + 87*I/64, -2063/256 + 541*I/128,  85/256 - 33*I/16,  805/128 + 2415*I/512],
        [          1/2 - I,         9/4 + 55*I/16,              -3/4,       45/32 - 37*I/16,         1/4 + I/2,      -129/64 - 9*I/64],
        [   -5/8 - 39*I/16,   2473/256 + 137*I/64, -149/64 + 49*I/32, -177/128 - 1369*I/128,  125/64 + 87*I/64, -2063/256 + 541*I/128],
        [            1 + I,         -19/4 + 5*I/4,           1/2 - I,         9/4 + 55*I/16,              -3/4,       45/32 - 37*I/16],
        [         21/8 + I,    -537/64 + 143*I/16,    -5/8 - 39*I/16,   2473/256 + 137*I/64, -149/64 + 49*I/32, -177/128 - 1369*I/128]]Trß   aŸ  [
            [     7369525394972778926719607798014571861/604462909807314587353088 - 229284202061790301477392339912557559*I/151115727451828646838272,   -19704281515163975949388435612632058035/1208925819614629174706176 + 14319858347987648723768698170712102887*I/302231454903657293676544,      -3623281909451783042932142262164941211/604462909807314587353088 - 6039240602494288615094338643452320495*I/604462909807314587353088,    109260497799140408739847239685705357695/2417851639229258349412352 - 7427566006564572463236368211555511431*I/2417851639229258349412352, -16095803767674394244695716092817006641/2417851639229258349412352 + 10336681897356760057393429626719177583*I/1208925819614629174706176,    -42207883340488041844332828574359769743/2417851639229258349412352 - 182332262671671273188016400290188468499*I/4835703278458516698824704],
            [50566491050825573392726324995779608259/1208925819614629174706176 - 90047007594468146222002432884052362145*I/2417851639229258349412352,  74273703462900000967697427843983822011/1208925819614629174706176 + 265947522682943571171988741842776095421*I/1208925819614629174706176, -116900341394390200556829767923360888429/2417851639229258349412352 - 53153263356679268823910621474478756845*I/2417851639229258349412352, 195407378023867871243426523048612490249/1208925819614629174706176 - 1242417915995360200584837585002906728929*I/9671406556917033397649408,   -863597594389821970177319682495878193/302231454903657293676544 + 476936100741548328800725360758734300481*I/9671406556917033397649408, -3154451590535653853562472176601754835575/19342813113834066795298816 - 232909875490506237386836489998407329215*I/2417851639229258349412352],
            [   -1715444997702484578716037230949868543/302231454903657293676544 + 5009695651321306866158517287924120777*I/302231454903657293676544,     -30551582497996879620371947949342101301/604462909807314587353088 - 7632518367986526187139161303331519629*I/151115727451828646838272,           312680739924495153190604170938220575/18889465931478580854784 - 108664334509328818765959789219208459*I/75557863725914323419136,    -14693696966703036206178521686918865509/604462909807314587353088 + 72345386220900843930147151999899692401*I/1208925819614629174706176,  -8218872496728882299722894680635296519/1208925819614629174706176 - 16776782833358893712645864791807664983*I/1208925819614629174706176,      143237839169380078671242929143670635137/2417851639229258349412352 + 2883817094806115974748882735218469447*I/2417851639229258349412352],
            [   3087979417831061365023111800749855987/151115727451828646838272 + 34441942370802869368851419102423997089*I/604462909807314587353088, -148309181940158040917731426845476175667/604462909807314587353088 - 263987151804109387844966835369350904919*I/9671406556917033397649408,   50259518594816377378747711930008883165/1208925819614629174706176 - 95713974916869240305450001443767979653*I/2417851639229258349412352,  153466447023875527996457943521467271119/2417851639229258349412352 + 517285524891117105834922278517084871349*I/2417851639229258349412352,  -29184653615412989036678939366291205575/604462909807314587353088 - 27551322282526322041080173287022121083*I/1208925819614629174706176,   196404220110085511863671393922447671649/1208925819614629174706176 - 1204712019400186021982272049902206202145*I/9671406556917033397649408],
            [     -2632581805949645784625606590600098779/151115727451828646838272 - 589957435912868015140272627522612771*I/37778931862957161709568,     26727850893953715274702844733506310247/302231454903657293676544 - 10825791956782128799168209600694020481*I/302231454903657293676544,      -1036348763702366164044671908440791295/151115727451828646838272 + 3188624571414467767868303105288107375*I/151115727451828646838272,     -36814959939970644875593411585393242449/604462909807314587353088 - 18457555789119782404850043842902832647*I/302231454903657293676544,      12454491297984637815063964572803058647/604462909807314587353088 - 340489532842249733975074349495329171*I/302231454903657293676544,      -19547211751145597258386735573258916681/604462909807314587353088 + 87299583775782199663414539883938008933*I/1208925819614629174706176],
            [  -40281994229560039213253423262678393183/604462909807314587353088 - 2939986850065527327299273003299736641*I/604462909807314587353088, 331940684638052085845743020267462794181/2417851639229258349412352 - 284574901963624403933361315517248458969*I/1208925819614629174706176,      6453843623051745485064693628073010961/302231454903657293676544 + 36062454107479732681350914931391590957*I/604462909807314587353088,  -147665869053634695632880753646441962067/604462909807314587353088 - 305987938660447291246597544085345123927*I/9671406556917033397649408,  107821369195275772166593879711259469423/2417851639229258349412352 - 11645185518211204108659001435013326687*I/302231454903657293676544,     64121228424717666402009446088588091619/1208925819614629174706176 + 265557133337095047883844369272389762133*I/1208925819614629174706176]])r   r"   r\   r0  s    ru   Ú$test_issue_17247_expression_blowup_4r�  s  so   € ô8 	Œqð Kó Ló 	M€Aô 
�TÓ	ñ JØ�"‰uœœqð "Hó  Ió Jò Jð 	Jñ J÷J÷ Jñ Jús    AÁAc                  ó  — t        ddd„ «      } t        d«      5  | j                  d«      t        t        dz  ddt
        z  z
  t        dz  z  z   dt
        z  t        dz  z  z   t        d	¬
«      k(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Nrm   c                 ó&   — dd| |z   z  t         z  z   S ©Nrj   rª   r‹  rÜ   s     ru   r    z6test_issue_17247_expression_blowup_5.<locals>.<lambda>¡  ó   €  ! r¨Q¨q©S¡k´!¡mÑ"3€ rw   TrP   éúÿÿÿrl   é$   rk   ÚEX©Údomain)r   r\   Úcharpolyr   rP   r   r0  s    ru   Ú$test_issue_17247_expression_blowup_5r¨     s|   € Üˆq�!Ñ3Ó4€AÜ	�TÓ	ñ _Ø�z‰z˜#‹¤(¬1¨a©4°2¸¼!¹±8¼QÀ¹T±/Ñ+AÀBÄqÁDÌÈAÉÁIÑ+MÌqÐY]Ô"^Ò^Ð^Ñ^÷_÷ _ñ _ús   šAA=Á=Bc            	      óÒ   — t        ddt        d«      D � cg c]  } t        | z   ‘Œ c} «      }t        d«      5  |j	                  d«      dk(  sJ ‚	 d d d «       y c c} w # 1 sw Y   y xY w)Nr˜   é@   TÚbareissr   ©r   rÌ   rP   r\   Údet©rÑ   r1  s     ru   Ú$test_issue_17247_expression_blowup_6r¯  ¦  sa   € Üˆq�!¤5¨"£:Ö.˜a”a˜“cÒ.Ó/€AÜ	�TÓ	ñ %Ø�u‰u�YÓ 1Ò$Ð$Ñ$÷%ð %ùò /÷%ð %úó   •A·AÁA&c                  óŽ   — t        ddd„ «      } t        d«      5  | j                  d«      dk(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Nrm   c                 ó&   — dd| |z   z  t         z  z   S r   r‹  rÜ   s     ru   r    z6test_issue_17247_expression_blowup_7.<locals>.<lambda>­  r¡  rw   TÚ	berkowitzr   )r   r\   r­  r0  s    ru   Ú$test_issue_17247_expression_blowup_7r´  ¬  sE   € Üˆq�!Ñ3Ó4€AÜ	�TÓ	ñ 'Ø�u‰u�[Ó! QÒ&Ð&Ñ&÷'÷ 'ñ 'ús	   š;»Ac            	      óÒ   — t        ddt        d«      D � cg c]  } t        | z   ‘Œ c} «      }t        d«      5  |j	                  d«      dk(  sJ ‚	 d d d «       y c c} w # 1 sw Y   y xY w)Nr˜   rª  TÚlur   r¬  r®  s     ru   Ú$test_issue_17247_expression_blowup_8r·  ²  s`   € Üˆq�!¤5¨"£:Ö.˜a”a˜“cÒ.Ó/€AÜ	�TÓ	ñ  Ø�u‰u�T‹{˜aÒÐÑ÷ ð  ùò /÷ ð  úr°  c                  ó  — t        ddt        d«      D � cg c]  } t        | z   ‘Œ c} «      }t        d«      5  |j	                  «       t        g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g«      dfk(  sJ ‚	 d d d «       y c c} w # 1 sw Y   y xY w)Nr˜   rª  T)rj   r   rª   r«   ro  rË   r¤   r¢  ©r   rj   rh   ri   rk   rl   rm   r—   ©r   r   r   r   r   r   r   r   r   )r   rÌ   rP   r\   Úrrefr®  s     ru   Ú$test_issue_17247_expression_blowup_9r¼  ¸  s�   € Üˆq�!¤5¨"£:Ö.˜a”a˜“cÒ.Ó/€AÜ	�TÓ	ñ 	6Ø�v‰v‹xœFÚ*Ú*Ú*Ú*Ú*Ú*Ú*Ú*ð$,ó -ð /5ð6ò 6ð 	6ñ 6÷	6ð 	6ùò /÷	6ð 	6ús   •A:·9A?Á?Bc                  ó�   — t        ddd„ «      } t        d«      5  | j                  dd«      dk(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Nrm   c                 ó&   — dd| |z   z  t         z  z   S r   r‹  rÜ   s     ru   r    z7test_issue_17247_expression_blowup_10.<locals>.<lambda>Ç  r¡  rw   Tr   )r   r\   Úcofactorr0  s    ru   Ú%test_issue_17247_expression_blowup_10rÀ  Æ  sG   € Üˆq�!Ñ3Ó4€AÜ	�TÓ	ñ %Ø�z‰z˜!˜QÓ 1Ò$Ð$Ñ$÷%÷ %ñ %ús	   š<¼Ac                  óª   — t        ddd„ «      } t        d«      5  | j                  «       t        dddgdz  «      k(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Nrm   c                 ó&   — dd| |z   z  t         z  z   S r   r‹  rÜ   s     ru   r    z7test_issue_17247_expression_blowup_11.<locals>.<lambda>Í  r¡  rw   Tr   r£  )r   r\   Úcofactor_matrixr0  s    ru   Ú%test_issue_17247_expression_blowup_11rÄ  Ì  sT   € Üˆq�!Ñ3Ó4€AÜ	�TÓ	ñ ;Ø× Ñ Ó"¤f¨Q°°A°3°r±6Ó&:Ò:Ð:Ñ:÷;÷ ;ñ ;ús   š%A	Á	Ac                  ó¦   — t        ddd„ «      } t        d«      5  | j                  «       dddt        z  dddik(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Nrm   c                 ó&   — dd| |z   z  t         z  z   S r   r‹  rÜ   s     ru   r    z7test_issue_17247_expression_blowup_12.<locals>.<lambda>Ó  r¡  rw   Trj   r   rk   )r   r\   Ú	eigenvalsr   r0  s    ru   Ú%test_issue_17247_expression_blowup_12rÈ  Ò  sS   € Üˆq�!Ñ3Ó4€AÜ	�TÓ	ñ 5Ø�{‰{‹}  A q¬¡s¨A¨q°!Ð 4Ò4Ð4Ñ4÷5÷ 5ñ 5ús   š#AÁAc            
      ó€  — t        ddt        z
  t        dz   dt        z
  gdt        z
  t        dz   dt        dz   gddt        z
  t        dz   dt        z
  gdddt        z
  dgg«      } | j                  «       }|d   ddt        g d¢«      gfk(  sJ ‚|d   d   t        t        d«      t        dz
  z  z
  dz   k(  sJ ‚|d   d   dk(  sJ ‚|d   d   d   j	                  dd¬«      t        t         t        d«      t        dz
  z  z   dz
  t        dz
  z  gdt        z  t        dz  dt        z  z
  dz   z  t        dz   t        t        d«      t        dz
  z  z
  dz   z  t        dz  dt        z  z
  dz   z  z   gt         t        d«      t        dz
  z  z   dz
  t        dz
  z  gdgg«      k(  sJ ‚|d   d   t        t        d«      t        dz
  z  z   dz   k(  sJ ‚|d   d   dk(  sJ ‚|d   d   d   j	                  dd¬«      t        t         t        d«      t        dz
  z  z
  dz
  t        dz
  z  gdt        z  t        dz  dt        z  z
  dz   z  t        dz   t        t        d«      t        dz
  z  z   dz   z  t        dz  dt        z  z
  dz   z  z   gt         t        d«      t        dz
  z  z
  dz
  t        dz
  z  gdgg«      k(  sJ ‚y )	Nr   rj   rh   )r   rª   r   rj   FT)ÚdeepÚnumerrË   )r   rP   Ú
eigenvectsrB   r-   )r1  Úevs     ru   Ú%test_issue_17247_expression_blowup_13rÎ  Ø  sç  € ÜØ�”A‘”q˜1‘u˜a¤!™eÐ$Ø	
ŒQ‰”�A‘˜1œa !™eÐ$Ø�”A‘”q˜1‘u˜a¤!™eÐ$Ø�A˜1œq™5 !Ð$ð	&ó 	'€Að 
�‰‹€BØˆa‰5�Q˜œF¢=Ó1Ð2Ð3Ò3Ð3Ð3Øˆa‰5�‰8”qœ4 ›7¤A¨¡E™?Ñ*¨QÑ.Ò.Ð.Ð.Øˆa‰5�‰8�qŠ=Ðˆ=Øˆa‰5�‰8�A‰;×Ñ 5°ÐÓ5¼Üˆ"Œt�A‹wœ˜A™‰Ñ
 Ñ
"¤Q¨¡UÑ	+Ð,Ø	ŒA‰Œq�!‰t�aœ‘c‰z˜A‰~Ñ	¤! a¡%¬!¬d°1«g´q¸1±u©oÑ*=ÀÑ*AÑ!BÄAÀqÁDÈ1ÌQÉ3ÁJÐQRÁNÑ!SÑ	SÐTÜˆ"Œt�A‹wœ˜A™‰Ñ
 Ñ
"¤Q¨¡UÑ	+Ð,Ø	
ˆð	Aó :ò ð ð ð ˆa‰5�‰8”qœ4 ›7¤A¨¡E™?Ñ*¨QÑ.Ò.Ð.Ð.Øˆa‰5�‰8�qŠ=Ðˆ=Øˆa‰5�‰8�A‰;×Ñ 5°ÐÓ5¼Üˆ"Œt�A‹wœ˜A™‰Ñ
 Ñ
"¤Q¨¡UÑ	+Ð,Ø	ŒA‰Œq�!‰t�aœ‘c‰z˜A‰~Ñ	¤! a¡%¬!¬d°1«g´q¸1±u©oÑ*=ÀÑ*AÑ!BÄAÀqÁDÈ1ÌQÉ3ÁJÐQRÁNÑ!SÑ	SÐTÜˆ"Œt�A‹wœ˜A™‰Ñ
 Ñ
"¤Q¨¡UÑ	+Ð,Ø	
ˆð	Aó :ò ð ñ rw   c                  óä  — t        dddt        z   dt        z
  gdz  dt        z
  dt        z   gdz  z   dz  «      } t        d«      5  | j                  «       t        t        dz   dt        z
  t        dz   dt        z
  t        dz   dt        z
  t        dz   dt        z
  gddt        z  ddt        z  ddt        z  ddt        z  gg d¢g d¢g d¢g d¢g d¢g d¢g«      k(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Nr˜   rj   rk   Tr   rº  )r   rP   r\   Úechelon_formr0  s    ru   Ú%test_issue_17247_expression_blowup_14rÑ  ô  sï   € Üˆq�!�qœ‘s˜Aœa™C�j ‘l a¬¡c¨1¬Q©3 Z°¡\Ñ1°1Ñ4Ó5€AÜ	�TÓ	ñ 	GØ�~‰~Ó¤6Ü�‰U�Aœ‘Eœ1˜q™5 !¤a¡%¬¨Q©°´A±´q¸1±u¸aÄ!¹eÐDØ�aœ‘c˜q A¤a¡C¨Q°!´A±#¸1ÀÄ!ÁÐDÚDÚDÚDÚDÚDÚDð+Fó $Gò Gð 	Gñ G÷	G÷ 	Gñ 	Gús   ÁBC&Ã&C/c                  óÖ  — t        dddt        z   dt        z
  gdz  dt        z
  dt        z   gdz  z   dz  «      } t        d«      5  | j                  «       t        t        dz   dt        z
  t        dz   dt        z
  t        dz   dt        z
  t        dz   dt        z
  gg«      t        ddt        z  ddt        z  ddt        z  ddt        z  gg«      gk(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Nr˜   rj   rk   Tr   )r   rP   r\   Úrowspacer0  s    ru   Ú%test_issue_17247_expression_blowup_15rÔ    s"  € Üˆq�!�qœ‘s˜Aœa™C�j ‘l a¬¡c¨1¬Q©3 Z°¡\Ñ1°1Ñ4Ó5€AÜ	�TÓ	ñ PØ�z‰z‹|¤¬¨Q©°´A±´q¸1±u¸aÄ!¹eÄQÈÁUÈAÔPQÉEÔSTÐWXÑSXÐZ[Ô^_ÑZ_Ð(`Ð'aÓ bÔdjÐmnÐpqÔrsÑpsÐuvÐxyÔz{Ñx{Ð}~ð  ABô  CDñ  ADð  FGð  IJô  KLñ  ILð  mMð  lNó  eOð   Pò  Pð  	Pñ  P÷P÷ Pñ Pús   ÁBCÃC(c                  ó*  — t        dddt        z   dt        z
  gdz  dt        z
  dt        z   gdz  z   dz  «      } t        d«      5  | j                  «       t        t        dz   gdt        z
  gt        dz   gdt        z
  gt        dz   gdt        z
  gt        dz   gdt        z
  gg«      t        dt        z
  gt        dz   gdt        z
  gt        dz   gdt        z
  gt        dz   gdt        z
  gt        dz   gg«      gk(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Nr˜   rj   rk   T)r   rP   r\   Úcolumnspacer0  s    ru   Ú%test_issue_17247_expression_blowup_16r×    s²  € Üˆq�!�qœ‘s˜Aœa™C�j ‘l a¬¡c¨1¬Q©3 Z°¡\Ñ1°1Ñ4Ó5€AÜ	�TÓ	ñ yØ�}‰}‹¤6¬A°©E¨7°A¼±E°7¼AÀ¹E¸7ÀAÌÁEÀ7ÌAÐPQÉEÈ7ÐTUÔXYÑTYÐSZÔ\]Ð`aÑ\aÐ[bÐdeÔhiÑdiÐcjÐ*kÓ#lÔntÐwxÔ{|Ñw|Ðv}ô  @Að  DEñ  @Eð  Fð  HIô  LMñ  HMð  GNô  PQð  TUñ  PUð  OVð  XYô  \]ñ  X]ð  W^ô  `að  deñ  `eð  _fð  hiô  lmñ  hmð  gnô  pqð  tuñ  puð  ovð  vwó  oxð  #yò  yð  	yñ  y÷y÷ yñ yús   ÁB:D	Ä	Dc                  ó  — t        ddt        d«      D � cg c]  } t        | z   ‘Œ c} «      }t        d«      5  |j	                  «       t        dgdgdgdgdgdgdgdgg«      t        dgdgdgdgdgdgdgdgg«      t        d	gd
gdgdgdgdgdgdgg«      t        dgdgdgdgdgdgdgdgg«      t        dgdgdgdgdgdgdgdgg«      t        dgdgdgdgdgdgdgdgg«      gk(  sJ ‚	 d d d «       y c c} w # 1 sw Y   y xY w)Nr˜   rª  Trj   r«   r   rh   ro  ri   rË   rk   r¤   rl   r¢  rm   rn  )r   rÌ   rP   r\   Ú	nullspacer®  s     ru   Ú%test_issue_17247_expression_blowup_17rÚ    s]  € Üˆq�!¤5¨"£:Ö.˜a”a˜“cÒ.Ó/€AÜ	�TÓ	ñ 8Ø�{‰{‹}Ü�Q�C˜˜˜a˜S !  a S¨!¨¨a¨S°!°Ð5Ó6Ü�Q�C˜˜˜a˜S !  a S¨!¨¨a¨S°!°Ð5Ó6Ü�Q�C˜˜˜a˜S !  a S¨!¨¨a¨S°!°Ð5Ó6Ü�Q�C˜˜˜a˜S !  a S¨!¨¨a¨S°!°Ð5Ó6Ü�Q�C˜˜˜a˜S !  a S¨!¨¨a¨S°!°Ð5Ó6Ü�Q�C˜˜˜a˜S !  a S¨!¨¨a¨S°!°Ð5Ó6ð!8ò 8ð 	8ñ 8÷8ð 8ùò /÷8ð 8ús   •C3·B2C8Ã8Dc                  óÜ   — t        dddt        z   dt        z
  gdz  dt        z
  dt        z   gdz  z   dz  «      } t        d«      5  | j                  «       rJ ‚	 d d d «       y # 1 sw Y   y xY w)Nrm   rj   ri   T)r   rP   r\   Úis_nilpotentr0  s    ru   Ú%test_issue_17247_expression_blowup_18rÝ    sj   € Üˆq�!�qœ‘s˜Aœa™C�j ‘l a¬¡c¨1¬Q©3 Z°¡\Ñ1°1Ñ4Ó5€AÜ	�TÓ	ñ $Ø—>‘>Ô#Ð#Ð#Ð#÷$÷ $ñ $ús   ÁA"Á"A+c                  ó’   — t        t        d«      «      } t        d«      5  | j                  «       rJ ‚	 d d d «       y # 1 sw Y   y xY w)Nay  [
        [             -3/4,                     0,         1/4 + I/2,                     0],
        [                0, -177/128 - 1369*I/128,                 0, -2063/256 + 541*I/128],
        [          1/2 - I,                     0,                 0,                     0],
        [                0,                     0,                 0, -177/128 - 1369*I/128]]T)r   r"   r\   Úis_diagonalizabler0  s    ru   Ú%test_issue_17247_expression_blowup_19rà     sO   € ÜŒqð aó bó 	c€Aô
 
�TÓ	ñ )Ø×&Ñ&Ô(Ð(Ð(Ð(÷)÷ )ñ )ús	    =½Ac                  óÒ  — t        t        dz   dt        z
  ddgdt        z
  t        dz   dt        dz   gddt        z
  t        dz   dgdddt        dz   gg«      } t        d«      5  | j                  «       t        dddt        dz   t        dz
  z  gg d¢g d¢g d¢g«      t        g d¢ddt        z  ddgddt        dz   dgdddt        dz   gg«      fk(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)	Nrj   r   T)rj   rª   r   r   r‘  r‰  rT  rh   )r   rP   r\   Údiagonalizer0  s    ru   Ú%test_issue_17247_expression_blowup_20rã  *  s  € ÜÜˆ�UˆQ”‰U˜ Ð#ØŒ�UŒQ�‰U˜œQ ™UÐ#Ø	
ˆQ”‰U”Q˜‘U Ð#Ø	
�˜œQ ™UÐ#ð	%ó 	&€Aô
 
�TÓ	ñ 
&Ø�}‰}‹¤6Ø��Aœ˜A™¤ A¡‘Ð'Ú'Ú'Ú'ð	+)ó $*ô
 Ú"Ø�”!‘˜ Ð"Ø�!”Q˜‘U Ð"Ø�!˜œA ™EÐ"ð	$ó %ð	#&ò 	&ð 		&ñ 	&÷
&÷ 
&ñ 
&ús   Á#A0CÃC&c                  óÀ   — t        t        d«      «      } t        d«      5  | j                  d¬«      t        t        d«      «      k(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Ná�  [
        [             -3/4,       45/32 - 37*I/16,                   0,                     0],
        [-149/64 + 49*I/32, -177/128 - 1369*I/128,                   0, -2063/256 + 541*I/128],
        [                0,         9/4 + 55*I/16, 2473/256 + 137*I/64,                     0],
        [                0,                     0,                   0, -177/128 - 1369*I/128]]TÚGErg  áv  [
            [-26194832/3470993 - 31733264*I/3470993, 156352/3470993 + 10325632*I/3470993, 0, -7741283181072/3306971225785 + 2999007604624*I/3306971225785],
            [4408224/3470993 - 9675328*I/3470993, -2422272/3470993 + 1523712*I/3470993, 0, -1824666489984/3306971225785 - 1401091949952*I/3306971225785],
            [-26406945676288/22270005630769 + 10245925485056*I/22270005630769, 7453523312640/22270005630769 + 1601616519168*I/22270005630769, 633088/6416033 - 140288*I/6416033, 872209227109521408/21217636514687010905 + 6066405081802389504*I/21217636514687010905],
            [0, 0, 0, -11328/952745 + 87616*I/952745]]©r   r"   r\   r•  r0  s    ru   Ú%test_issue_17247_expression_blowup_21ré  =  ój   € ÜŒqð có dó 	e€Aô
 
�TÓ	ñ <Ø�u‰u˜DˆuÓ!¤V¬Að /:ó -;ó &<ò <ð 	<ñ <÷<÷ <ñ <úó    *AÁAc                  óÀ   — t        t        d«      «      } t        d«      5  | j                  d¬«      t        t        d«      «      k(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Nrå  TÚLUrg  rç  rè  r0  s    ru   Ú%test_issue_17247_expression_blowup_22rî  K  rê  rë  c                  óÜ   — t        t        d«      «      } t        d«      5  | j                  d¬«      j	                  «       t        t        d«      «      k(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Nrå  TÚADJrg  rç  )r   r"   r\   r•  r-   r0  s    ru   Ú%test_issue_17247_expression_blowup_23rñ  Y  ss   € ÜŒqð có dó 	e€Aô
 
�TÓ	ñ <Ø�u‰u˜EˆuÓ"×)Ñ)Ó+¬v´að 9:ó 7;ó 0<ò <ð 	<ñ <÷<÷ <ñ <ús    8A"Á"A+c                  óÀ   — t        t        d«      «      } t        d«      5  | j                  d¬«      t	        t        d«      «      k(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Nrå  TÚCHrg  rç  ©r#   r"   r\   r•  r   r0  s    ru   Ú%test_issue_17247_expression_blowup_24rõ  g  sj   € Ü”Qð có dó 	e€Aô
 
�TÓ	ñ <Ø�u‰u˜DˆuÓ!¤V¬Að /:ó -;ó &<ò <ð 	<ñ <÷<÷ <ñ <úrë  c                  óÀ   — t        t        d«      «      } t        d«      5  | j                  d¬«      t	        t        d«      «      k(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Nrå  TÚLDLrg  rç  rô  r0  s    ru   Ú%test_issue_17247_expression_blowup_25rø  u  sj   € Ü”Qð có dó 	e€Aô
 
�TÓ	ñ <Ø�u‰u˜EˆuÓ"¤f¬Qð 0:ó .;ó '<ò <ð 	<ñ <÷<÷ <ñ <úrë  c                  ó˜   — t        t        d«      «      } t        d«      5  | j                  «       dk(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Na¹  [
        [             -3/4,       45/32 - 37*I/16,         1/4 + I/2,      -129/64 - 9*I/64,      1/4 - 5*I/16,      65/128 + 87*I/64,         -9/32 - I/16,      183/256 - 97*I/128],
        [-149/64 + 49*I/32, -177/128 - 1369*I/128,  125/64 + 87*I/64, -2063/256 + 541*I/128,  85/256 - 33*I/16,  805/128 + 2415*I/512, -219/128 + 115*I/256, 6301/4096 - 6609*I/1024],
        [          1/2 - I,         9/4 + 55*I/16,              -3/4,       45/32 - 37*I/16,         1/4 + I/2,      -129/64 - 9*I/64,         1/4 - 5*I/16,        65/128 + 87*I/64],
        [   -5/8 - 39*I/16,   2473/256 + 137*I/64, -149/64 + 49*I/32, -177/128 - 1369*I/128,  125/64 + 87*I/64, -2063/256 + 541*I/128,     85/256 - 33*I/16,    805/128 + 2415*I/512],
        [            1 + I,         -19/4 + 5*I/4,           1/2 - I,         9/4 + 55*I/16,              -3/4,       45/32 - 37*I/16,            1/4 + I/2,        -129/64 - 9*I/64],
        [         21/8 + I,    -537/64 + 143*I/16,    -5/8 - 39*I/16,   2473/256 + 137*I/64, -149/64 + 49*I/32, -177/128 - 1369*I/128,     125/64 + 87*I/64,   -2063/256 + 541*I/128],
        [               -2,         17/4 - 13*I/2,             1 + I,         -19/4 + 5*I/4,           1/2 - I,         9/4 + 55*I/16,                 -3/4,         45/32 - 37*I/16],
        [     1/4 + 13*I/4,    -825/64 - 147*I/32,          21/8 + I,    -537/64 + 143*I/16,    -5/8 - 39*I/16,   2473/256 + 137*I/64,    -149/64 + 49*I/32,   -177/128 - 1369*I/128]]Trk   ©r   r"   r\   Úrankr0  s    ru   Ú%test_issue_17247_expression_blowup_26rü  ƒ  sL   € ÜŒqð zó {ó 	|€Aô 
�TÓ	ñ Ø�v‰v‹x˜1Š}Ð‰}÷÷ ñ úó    A Á A	c            	      óÒ  — t        ddt        z
  t        dz   dt        z
  gdt        z
  t        dz   dt        dz   gddt        z
  t        dz   dt        z
  gdddt        z
  dgg«      } t        d«      5  | j                  «       \  }}|j	                  «       t        t        d«      «      j	                  «       k(  sJ ‚|t        t        d«      «      k(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Nr   rj   Ta±  [
            [    0,  4*x/(x**2 - 2*x + 1), -(-17*x**4 + 12*sqrt(2)*x**4 - 4*sqrt(2)*x**3 + 6*x**3 - 6*x - 4*sqrt(2)*x + 12*sqrt(2) + 17)/(-7*x**4 + 5*sqrt(2)*x**4 - 6*sqrt(2)*x**3 + 8*x**3 - 2*x**2 + 8*x + 6*sqrt(2)*x - 5*sqrt(2) - 7), -(12*sqrt(2)*x**4 + 17*x**4 - 6*x**3 - 4*sqrt(2)*x**3 - 4*sqrt(2)*x + 6*x - 17 + 12*sqrt(2))/(7*x**4 + 5*sqrt(2)*x**4 - 6*sqrt(2)*x**3 - 8*x**3 + 2*x**2 - 8*x + 6*sqrt(2)*x - 5*sqrt(2) + 7)],
            [x - 1, x/(x - 1) + 1/(x - 1),                       (-7*x**3 + 5*sqrt(2)*x**3 - x**2 + sqrt(2)*x**2 - sqrt(2)*x - x - 5*sqrt(2) - 7)/(-3*x**3 + 2*sqrt(2)*x**3 - 2*sqrt(2)*x**2 + 3*x**2 + 2*sqrt(2)*x + 3*x - 3 - 2*sqrt(2)),                       (7*x**3 + 5*sqrt(2)*x**3 + x**2 + sqrt(2)*x**2 - sqrt(2)*x + x - 5*sqrt(2) + 7)/(2*sqrt(2)*x**3 + 3*x**3 - 3*x**2 - 2*sqrt(2)*x**2 - 3*x + 2*sqrt(2)*x - 2*sqrt(2) + 3)],
            [    0,                     1,                                                                                            -(-3*x**2 + 2*sqrt(2)*x**2 + 2*x - 3 - 2*sqrt(2))/(-x**2 + sqrt(2)*x**2 - 2*sqrt(2)*x + 1 + sqrt(2)),                                                                                            -(2*sqrt(2)*x**2 + 3*x**2 - 2*x - 2*sqrt(2) + 3)/(x**2 + sqrt(2)*x**2 - 2*sqrt(2)*x - 1 + sqrt(2))],
            [1 - x,                     0,                                                                                                                                                                                               1,                                                                                                                                                                                             1]]a  [
            [0, 1,                       0,                       0],
            [0, 0,                       0,                       0],
            [0, 0, x - sqrt(2)*(x - 1) + 1,                       0],
            [0, 0,                       0, x + sqrt(2)*(x - 1) + 1]])r   rP   r\   r”  r-   r"   r–  s      ru   Ú%test_issue_17247_expression_blowup_27rÿ  ‘  s  € ÜØ�”A‘”q˜1‘u˜a¤!™eÐ$Ø	
ŒQ‰”�A‘˜1œa !™eÐ$Ø�”A‘”q˜1‘u˜a¤!™eÐ$Ø�A˜1œq™5 !Ð$ð	&ó 	'€Aô
 
�TÓ	ñ KØ�}‰}‹‰ˆˆ1Ø�x‰x‹zœV¤Að 'oó %pó q÷ rxñ  rxó  rzò	zð 	zð zð
 ”Fœ1ð Ió Jó Kò Kð 	Kñ K÷K÷ Kñ Kús   Á1A"CÃC&c                  óª   — t        t        d«      «      } t        d«      5  | j                  «       t        d«      k(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Nrå  Ta�  [
            sqrt(14609315/131072 + sqrt(64789115132571/2147483648 - 2*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3) + 76627253330829751075/(35184372088832*sqrt(64789115132571/4294967296 + 3546944054712886603889144627/(110680464442257309696*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3)) + 2*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3))) - 3546944054712886603889144627/(110680464442257309696*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3)))/2 + sqrt(64789115132571/4294967296 + 3546944054712886603889144627/(110680464442257309696*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3)) + 2*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3))/2),
            sqrt(14609315/131072 - sqrt(64789115132571/2147483648 - 2*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3) + 76627253330829751075/(35184372088832*sqrt(64789115132571/4294967296 + 3546944054712886603889144627/(110680464442257309696*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3)) + 2*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3))) - 3546944054712886603889144627/(110680464442257309696*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3)))/2 + sqrt(64789115132571/4294967296 + 3546944054712886603889144627/(110680464442257309696*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3)) + 2*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3))/2),
            sqrt(14609315/131072 - sqrt(64789115132571/4294967296 + 3546944054712886603889144627/(110680464442257309696*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3)) + 2*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3))/2 + sqrt(64789115132571/2147483648 - 2*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3) - 76627253330829751075/(35184372088832*sqrt(64789115132571/4294967296 + 3546944054712886603889144627/(110680464442257309696*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3)) + 2*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3))) - 3546944054712886603889144627/(110680464442257309696*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3)))/2),
            sqrt(14609315/131072 - sqrt(64789115132571/4294967296 + 3546944054712886603889144627/(110680464442257309696*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3)) + 2*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3))/2 - sqrt(64789115132571/2147483648 - 2*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3) - 76627253330829751075/(35184372088832*sqrt(64789115132571/4294967296 + 3546944054712886603889144627/(110680464442257309696*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3)) + 2*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3))) - 3546944054712886603889144627/(110680464442257309696*(25895222463957462655758224991455280215303/633825300114114700748351602688 + sqrt(1213909058710955930446995195883114969038524625997915131236390724543989220134670)*I/22282920707136844948184236032)**(1/3)))/2)])r   r"   r\   Úsingular_valuesr0  s    ru   Ú%test_issue_17247_expression_blowup_28r  ¥  sj   € ÜŒqð có dó 	e€Aô
 
�TÓ	ñ dØ× Ñ Ó"¤að )có 'dò dð 	dñ d÷d÷ dñ dús    A	Á	Ac                  ó˜   — t        t        d«      «      } t        d«      5  | j                  «       dk(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Na¢	  [
        [1+I,-19/4+5/4*I,1/2-I,9/4+55/16*I,-3/4,45/32-37/16*I,1/4+1/2*I,-129/64-9/64*I,1/4-5/16*I,65/128+87/64*I,-9/32-1/16*I,183/256-97/128*I,3/64+13/64*I,-23/32-59/256*I,15/128-3/32*I,19/256+551/1024*I],
        [21/8+I,-537/64+143/16*I,-5/8-39/16*I,2473/256+137/64*I,-149/64+49/32*I,-177/128-1369/128*I,125/64+87/64*I,-2063/256+541/128*I,85/256-33/16*I,805/128+2415/512*I,-219/128+115/256*I,6301/4096-6609/1024*I,119/128+143/128*I,-10879/2048+4343/4096*I,129/256-549/512*I,42533/16384+29103/8192*I],
        [-2,17/4-13/2*I,1+I,-19/4+5/4*I,1/2-I,9/4+55/16*I,-3/4,45/32-37/16*I,1/4+1/2*I,-129/64-9/64*I,1/4-5/16*I,65/128+87/64*I,-9/32-1/16*I,183/256-97/128*I,3/64+13/64*I,-23/32-59/256*I],
        [1/4+13/4*I,-825/64-147/32*I,21/8+I,-537/64+143/16*I,-5/8-39/16*I,2473/256+137/64*I,-149/64+49/32*I,-177/128-1369/128*I,125/64+87/64*I,-2063/256+541/128*I,85/256-33/16*I,805/128+2415/512*I,-219/128+115/256*I,6301/4096-6609/1024*I,119/128+143/128*I,-10879/2048+4343/4096*I],
        [-4*I,27/2+6*I,-2,17/4-13/2*I,1+I,-19/4+5/4*I,1/2-I,9/4+55/16*I,-3/4,45/32-37/16*I,1/4+1/2*I,-129/64-9/64*I,1/4-5/16*I,65/128+87/64*I,-9/32-1/16*I,183/256-97/128*I],
        [1/4+5/2*I,-23/8-57/16*I,1/4+13/4*I,-825/64-147/32*I,21/8+I,-537/64+143/16*I,-5/8-39/16*I,2473/256+137/64*I,-149/64+49/32*I,-177/128-1369/128*I,125/64+87/64*I,-2063/256+541/128*I,85/256-33/16*I,805/128+2415/512*I,-219/128+115/256*I,6301/4096-6609/1024*I],
        [-4,9-5*I,-4*I,27/2+6*I,-2,17/4-13/2*I,1+I,-19/4+5/4*I,1/2-I,9/4+55/16*I,-3/4,45/32-37/16*I,1/4+1/2*I,-129/64-9/64*I,1/4-5/16*I,65/128+87/64*I],
        [-2*I,119/8+29/4*I,1/4+5/2*I,-23/8-57/16*I,1/4+13/4*I,-825/64-147/32*I,21/8+I,-537/64+143/16*I,-5/8-39/16*I,2473/256+137/64*I,-149/64+49/32*I,-177/128-1369/128*I,125/64+87/64*I,-2063/256+541/128*I,85/256-33/16*I,805/128+2415/512*I],
        [0,-6,-4,9-5*I,-4*I,27/2+6*I,-2,17/4-13/2*I,1+I,-19/4+5/4*I,1/2-I,9/4+55/16*I,-3/4,45/32-37/16*I,1/4+1/2*I,-129/64-9/64*I],
        [1,-9/4+3*I,-2*I,119/8+29/4*I,1/4+5/2*I,-23/8-57/16*I,1/4+13/4*I,-825/64-147/32*I,21/8+I,-537/64+143/16*I,-5/8-39/16*I,2473/256+137/64*I,-149/64+49/32*I,-177/128-1369/128*I,125/64+87/64*I,-2063/256+541/128*I],
        [0,-4*I,0,-6,-4,9-5*I,-4*I,27/2+6*I,-2,17/4-13/2*I,1+I,-19/4+5/4*I,1/2-I,9/4+55/16*I,-3/4,45/32-37/16*I],
        [0,1/4+1/2*I,1,-9/4+3*I,-2*I,119/8+29/4*I,1/4+5/2*I,-23/8-57/16*I,1/4+13/4*I,-825/64-147/32*I,21/8+I,-537/64+143/16*I,-5/8-39/16*I,2473/256+137/64*I,-149/64+49/32*I,-177/128-1369/128*I]]Tr˜   rú  r0  s    ru   Útest_issue_16823r  ³  sL   € äŒqð Fó Gó 	H€Aô 
�TÓ	ñ Ø�v‰v‹x˜1Š}Ð‰}÷÷ ñ úrý  c                  óf  — t        g d¢dt        d«      z   dt        d«      z   dt        d«      z
  t        d«       dz
  dddddg	ddt        d«      z  z   ddt        d«      z  z
  ddt        d«      z  z
  ddt        d«      z  z   dddddg	d	t        d«      z  dz
  dd
t        d«      z  z
  dd
t        d«      z  z   dd
t        d«      z  z   ddddd
g	ddt        d«      z  z
  dt        d«      z  dz   dt        d«      z  dz   ddt        d«      z  z
  dddddg	dd
t        d«      z  z   dd
t        d«      z  z   d	t        d«      z  dz
  dd
t        d«      z  z
  ddddd
g	d	dt        d«      z  z   d	dt        d«      z  z
  d	dt        d«      z  z
  d	dt        d«      z  z   dddddg	dt        d«      z
  t        d«       dz
  dt        d«      z   dt        d«      z   dddddg	g«      } t        d«      5  | j                  «       t        ddddddddt	        d«      dz  g	ddddddddt	        d«       dz  g	ddddddddt	        d«      dz  g	ddddddddt	        d«       dz  g	g d¢ddddddddt	        d«       dz  g	g d¢ddddddddt	        d«       dz  g	g«      dfk(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)N)	rj   rj   rj   rj   rj   r   rj   r   r   rj   rh   rª   r¤   rn  r«   r   ro  ri   r—   rk   ré  rx  T)	r   r   r   r   rj   r   r   r   r   )	r   r   r   r   r   r   rj   r   r   r¹  )r   rB   r\   r»  r"   r0  s    ru   Útest_issue_18531r  Æ  s  € äÚ#Ø	
ŒT�!‹W‰�bœ4 ›7‘l A¬¨Q«¡K´$°q³'°¸A±¸qÀ!ÀRÈÈAÐNØ	ˆa”�Q“‰i‰˜˜a¤ Q£™i™¨¨a´°Q³©i©¸¸aÄÀQÃ¹i¹ÈÈQÐPRÐTVÐXYÐZØ	ŒD�‹G‰�a‰˜˜Qœt A›w™Y™¨¨Q¬t°A«w©Y©¸¸A¼dÀ1»g¹I¹ÀrÈ2ÈqÐRTÐVWÐXØ	
ˆQŒt�A‹w‰Y‰˜œ$˜q›'™	 A™ q¬¨a«¡y°1¡}°a¸!¼DÀ»G¹)±mÀQÈÈQÐPRÐTUÐVØ	ˆa”�Q“‰i‰˜˜Qœt A›w™Y™¨¬4°«7©
°Q©¸¸A¼dÀ1»g¹I¹ÀqÈ"ÈbÐRTÐVWÐXØ	ˆa”�Q“‰i‰˜˜a¤ Q£™i™¨¨a´°Q³©i©¸¸aÄÀQÃ¹i¹ÈÈQÐPRÐTVÐXYÐZØ	
ŒT�!‹W‰”t˜A“w�h ‘l A¬¨Q«¡K°´d¸1³g±¸rÀ1ÀaÈÈAÐNð	
ó 		€Aô 
�TÓ	ñ 	KØ�v‰v‹xœFØ��1�a˜˜A˜q !¤a¨£d¨1¡fÐ-Ø��1�a˜˜A˜q !¤a¨£d U¨1¡WÐ-Ø��1�a˜˜A˜q !¤a¨£d¨1¡fÐ-Ø��1�a˜˜A˜q !¤a¨£d U¨1¡WÐ-Ú*Ø��1�a˜˜A˜q !¤a¨£d U¨1¡WÐ-Ú*Ø��1�a˜˜A˜q !¤a¨£d U¨1¡WÐ-ð$/ó 0ð 2JðKò Kð 	Kñ K÷	K÷ 	Kñ 	Kús   Ç.B/J'Ê'J0c            	      ó–
  — t        t        d„ «       t        t        d„ «       t        t        d„ «       t        t        «      5  dt        d«      d<   d d d «       t        «       t        g «      cxk(  rt        ddg «      k(  sJ ‚ J ‚t        g g«      t        ddg «      k(  sJ ‚t        g g g«      t        d	dg «      k(  sJ ‚t	        «       5  t        dgd
gg«      j                  «       dgd
ggk(  sJ ‚	 d d d «       t	        «       5  t        dgd
gg«      j                  j                  «       dggd
ggk(  sJ ‚	 d d d «       t        dgg«      } t	        «       5  t        j                  | d<   d d d «       t        t        dgddgg«      }|}|j                  |j                  k(  sJ ‚|j                  d	k(  sJ ‚|d d  t        dddgk(  sJ ‚t        d	d	t        dddg«      }|}|j                  |j                  k(  sJ ‚|j                  d	k(  sJ ‚|d d  t        dddgk(  sJ ‚||k(  sJ ‚t        |«      |k(  sJ ‚t        d	dt        dd«      «      }t        ddt        dd«      «      }t        ||g«      }|j                  dk(  sJ ‚|j                  dk(  sJ ‚|d d  g d¢k(  sJ ‚t        t        d	«      «      t        d	«      k(  sJ ‚t        t        t        d	«      «      «      t        t        d	«      «      k(  sJ ‚t        |«       |j                  «       k(  sJ ‚t        t        |«      «      t        |«      j!                  «       k(  sJ ‚|t        |«      usJ ‚t#        dd	«      t#        dd«      d	z  gt#        d	d«      dz  t#        d	d	«      dz  gg}t        |«      } | t        g d¢g d¢g d¢g d¢g d¢g«      k(  sJ ‚| j                  «       |k7  sJ ‚t        |d¬«      j                  «       |k(  sJ ‚t%        dd	d	«      }t#        d	«      |g}t        |«      t        ddgddg|d   |d   g|d   |d   gg«      k(  sJ ‚t	        «       5  t        |d¬«      j                  «       |D �	cg c]  }	|	g‘Œ c}	k(  sJ ‚	 d d d «       t        t#        d	«      t#        d«      g«      t        t#        d	«      g«      k(  sJ ‚t        t        d„ «       t        t        d„ «       t        dd	gddgg«      } t        | dg«      }
|
t        dd	gddgddgg«      k(  sJ ‚y # 1 sw Y   �Œ¶xY w# 1 sw Y   �Œ$xY w# 1 sw Y   �ŒìxY w# 1 sw Y   �ŒÆxY wc c}	w # 1 sw Y   ŒÓxY w)Nc                  ó.   — t        ddt        d«      «      S )Nrl   re  )r   rÌ   r{   rw   ru   r    ztest_creation.<locals>.<lambda>ß  s   € œv a¨¬E°"«IÓ6€ rw   c                  ó   — t        ddg «      S )Nrl   rª   r³  r{   rw   ru   r    ztest_creation.<locals>.<lambda>à  s   € œv a¨¨RÓ0€ rw   c                  ó   — t        d«      d   S rb  r³  r{   rw   ru   r    ztest_creation.<locals>.<lambda>á  s   € œv f›~¨aÑ0€ rw   rl   rM  ri   r   rj   rh   rË  r~   r—   rß   r–   rk   )rj   rj   rh   rh   rh   )ri   ri   ri   rk   rk   Fr4  r´   r   r€   rn   c                  óB   — t        t        d«      t        dd«      g«      S )Nrh   r   ri   ©r   r5   r{   rw   ru   r    ztest_creation.<locals>.<lambda>'  ó   € œv¤t¨A£w´°Q¸³
Ð&;Ó<€ rw   c                  óB   — t        t        d«      t        dd«      g«      S )Nrh   ri   r   r  r{   rw   ru   r    ztest_creation.<locals>.<lambda>(  r  rw   )rl   rm   rm   )r_   r�  r­   r   rc   r‹   r-  r"   ÚEmptySetrP   rr   rq   rÌ   r.   r   Úas_immutableÚ
as_mutabler5   r   )r1  rK   rŽ   rL   Úc23Úc13rM   Údatr´   rÑ   rò   s              ru   Útest_creationr  Þ  sH  € Ü
Œ:Ñ6Ô7Ü
Œ:Ñ0Ô1Ü
Œ:Ñ0Ô1Ü	”
Ó	ñ ØŒˆv‹�qÑ÷ô ‹8”v˜b“zÔ5¤V¨A¨q°"Ó%5Ò5Ð5Ñ5Ð5Ð5Ü�2�$‹<œ6 ! Q¨Ó+Ò+Ð+Ð+Ü�2�r�(Óœv a¨¨BÓ/Ò/Ð/Ð/ô 
 Ó	!ñ ?Ü˜˜˜T�{�mÓ$×+Ñ+Ó-°A°3¸°+°Ò>Ð>Ñ>÷?ä	Ó	!ñ CÜ˜˜˜T�{�mÓ$×&Ñ&×-Ñ-Ó/°a°S°E¸D¸6°?ÒBÐBÑB÷Cä��ˆu‹€AÜ	Ó	!ñ Ü—*‘*ˆˆ$‰÷ô 	”�A�˜˜A˜ÐÓ €AØ	€AØ�6‰6�Q—V‘VÒÐÐØ�6‰6�QŠ;Ðˆ;Ø‰Qˆ4”A�q˜!˜Q�<ÒÐÐäˆq�!”a˜˜A˜q�\Ó"€AØ	€AØ�6‰6�Q—V‘VÒÐÐØ�6‰6�QŠ;Ðˆ;Ø‰Qˆ4”A�q˜!˜Q�<ÒÐÐà�Š6€Mˆ6ä�!‹9˜Š>Ðˆ>ä
��A”u˜Q “{Ó
#€CÜ
��A”u˜Q “|Ó
$€CÜ��SˆzÓ€AØ�6‰6�QŠ;Ðˆ;Ø�6‰6�QŠ;Ðˆ;Ø‰Qˆ4Ò.Ò.Ð.Ð.ä”#�a“&‹>œS ›VÒ#Ð#Ð#Üœ?¬3¨q«6Ó2Ó3´ÄsÈ1ÃvÓ7NÒNÐNÐNÜ˜1Ó  §¡Ó!1Ò1Ð1Ð1Ü”/ !Ó$Ó%¬¸Ó);×)FÑ)FÓ)HÒHÐHÐHà”F˜1“IÑÐÐä��1‹I”t˜A˜a“y ‘{Ð#¤d¨1¨Q£i°¡k´4¸¸!³9¸Q±;Ð%?Ð
@€CÜˆs‹€AØ”ÚÚÚÚÚðó ò ð ð ð �8‰8‹:˜ÒÐÐä�# Ô&×-Ñ-Ó/°3Ò6Ð6Ð6Ü�S˜!˜QÓ€AÜ�‹7�Aˆ,€CÜ�#‹;œ&Ø�AÐØ�AÐØ€t�Wˆa�‰gÐØ€t�Wˆa�‰gÐð	"ó ò ð ð ô
 
 Ó	!ñ JÜ�c EÔ*×1Ñ1Ó3ÀSÖ7IÀ¸ºÒ7IÒIÐIÑI÷Jô ”4˜“7œD ›GÐ$Ó%¬´°a³°	Ó):Ò:Ð:Ð:Ü
Œ:Ñ<Ô=Ü
Œ:Ñ<Ô=ô 	��A�˜˜A˜ÐÓ €AÜ	��F�Ó	€BØ”˜!˜Q˜ ! Q ¨!¨Q¨Ð0Ó1Ò1Ð1Ñ1÷Wñ ú÷?ñ ?ú÷Cñ Cú÷ñ üòh 8J÷Jð JúsN   ÁTÃ	'TÄ2T ÅT-Ð<T?Ñ
T:Ñ%T?ÔTÔTÔ T*Ô-T7Ô:T?Ô?Uc                  ó   — t        j                  dt        dd«      t        dd«      dz  t        dd«      dz  t        dd«      dz  t        dd«      dz  t        dd«      dz  t        dd«      dz  «      t        g d¢g d¢g d	¢g d
¢g«      k(  sJ ‚y )Nri   rh   rj   rk   rl   rm   r—   )rj   rh   rh   rh   ri   ri   )rk   rh   rh   rh   rl   rl   )rm   rm   r—   r—   rl   rl   )r   Ú	irregularr5   r{   rw   ru   Útest_irregular_blockr  0  s�   € Ü×Ñ˜Aœt A a›y¬$¨q°«)°A©+´t¸A¸a³yÀ±{ÜˆQˆq‹	�!‰”T˜!˜A“Y˜q‘[¤$ q¨£)¨A¡+¬t°A°a«y¸©{ó<Ü?EÚÚÚÚð	Gó @òð ñ rw   c                  ó   — t        d«      } | d d…d d…f   t        d«      k(  sJ ‚| dd…dd…f   t        d«      k(  sJ ‚t        ddd„ «      }|dd d …f   t        ddd«      k(  sJ ‚|dd…df   t        ddd«      k(  sJ ‚t        g d	¢g d
¢g d¢g d¢g«      }|d d …df   t        ddg d¢«      k(  sJ ‚|dd …d d …f   t        g d¢g d¢g«      k(  sJ ‚y )Nrk   ri   rh   r   c                 ó   — | |z   S rí   r{   rÜ   s     ru   r    ztest_slicing.<locals>.<lambda>>  ó
   €  1 q¡5€ rw   rj   r‘   r   r%  )rk   rl   rm   r—   )r˜   r™   rß   rá   )rx  é   é   r  rª   )ri   r—   rá   r  r«   )r.   rI   r   )Úm0r‚   rƒ   s      ru   Útest_slicingr  9  sö   € Ü	ˆQ‹€BØˆbˆqˆb�"�1�"ˆf‰:œ˜Q›ÒÐÐØˆa�ˆc�1�Q�3ˆh‰<œ5 ›8Ò#Ð#Ð#ä	��1Ñ(Ó	)€BØˆa’ˆd‰8”v˜a  IÓ.Ò.Ð.Ð.Øˆa�ˆc�1ˆf‰:œ  1 fÓ-Ò-Ð-Ð-ä	’š|ª^Ò=MÐNÓ	O€BØŠa�ˆe‰9œ˜q !¢^Ó4Ò4Ð4Ð4Øˆb‰c’1ˆf‰:œ¢Ò1AÐ BÓCÒCÐCÑCrw   c                  óª  — t        d«      } t        d«      | dd…dd…f<   | t        d«      k(  sJ ‚t        d«      | d d…d d…f<   | t        d«      k(  sJ ‚t        ddd«      | d d …df<   | t        d«      k(  sJ ‚t        d«      | d d …d d …f<   | t        d«      k(  sJ ‚g d¢| d d …d d …f<   | t        d«      k(  sJ ‚ddg| d d…df<   | t        d	«      k(  sJ ‚y )
Nrk   rh   )rŠ  rŠ  rÇ  r‰  rj   r  r   )r�  )rh   rj   r   r   )ri   r   rj   r   )rk   r   r   rj   ©r  r  r|  ©r  r  r  é   ))r   rh   ri   rk   )r   rm   r—   r˜   r|  r"  )rI   r.   r   r½   s    ru   Útest_submatrix_assignmentr$  G  s$  € Üˆa‹€AÜ�a“&€A€aˆ€cˆ1ˆQˆ3€h�KØ”ð &ó 'ò 'ð 'ð 'ô �A“€A€b€q€bˆ"ˆ1ˆ"€f�IØ”�A“Š;Ðˆ;Ü�Q˜˜<Ó(€A‚aˆ€d�GØ”ð &ó 'ò 'ð 'ð 'ô �A‹h€A‚aŠ€d�GØ”�a“Š=Ðˆ=ÚM€A‚aŠ€d�GØ”ð *ó +ò +ð +ð +ð �1ˆv€A€b€q€bˆ!€e�HØ”ð *ó +ò +ð +ñ +rw   c                  óú   — t        d«      } | j                  dd«      t        ddd«      k(  sJ ‚t        ddd„ «      }|j                  dd«      t        d«      k(  sJ ‚|j                  dd	«      t        d
«      k(  sJ ‚y )Nri   rj   r™   )	rj   r   r   r   rj   r   r   r   rj   rk   c                 ó   — | |z   S rí   r{   rÜ   s     ru   r    ztest_reshape.<locals>.<lambda>f  r  rw   )r‘   r   )ri   rk   rh   rù   rh   rm   ))r   rj   rh   ri   rj   rh   )ri   rk   rh   ri   rk   rl   )r.   Úreshaper   ©r  r‚   s     ru   Útest_reshaper)  c  sˆ   € Ü	ˆQ‹€BØ�:‰:�a˜Óœv a¨Ð,GÓHÒHÐHÐHÜ	��1Ñ(Ó	)€BØ�:‰:Ø	ˆ1óÜÐDÓEòFð Fð Fà�:‰:�a˜ÓœvÐ&NÓOÒOÐOÑOrw   c                  ó    — t        d«      } | j                  d„ «      t        d«      dz  k(  sJ ‚| j                  d„ «      t        d«      k(  sJ ‚y )Nri   c                 ó   — d| z  S rß  r{   rt   s    ru   r    z test_applyfunc.<locals>.<lambda>n  s
   €  ! A¡#€ rw   rh   c                  ó   — y©Nr   r{   rt   s    ru   r    z test_applyfunc.<locals>.<lambda>o  ó   � rw   )r.   Ú	applyfuncrI   )r  s    ru   Útest_applyfuncr0  l  sE   € Ü	ˆQ‹€BØ�<‰<™Ó&¬#¨a«&°©(Ò2Ð2Ð2Ø�<‰<™Ó$¬¨a«Ò0Ð0Ñ0rw   c            	      ó  — t        t        t        t        z   z  dgt        t        z   t        z  t        z  t        t        t        t        t        z   z  z   z  gg«      } | j                  «       }|t        t        t        z  t        dz  z   dgt        t        dz  z  t        t        dz  z  z   t        t        z  t        t        dz  z  z   t        dz  z   gg«      k(  sJ ‚t	        dd¬«      }t        t        t        |z  «      g«      j                  d¬«      t        t        |«      t        t        |«      z  z   g«      k(  sJ ‚t        g d¢g d¢g d	¢g«      j                  «       t        d
d
t        dd«      gg d¢g d¢g«      k(  sJ ‚y )Nrh   ri   rK   Tr&  )Úcomplexr‘   )r   r   rª   rÕ   rj   )r   rj   rª   rÆ   )
r   rP   rQ   r-   r$   r,   r   r)   rA   r    )r  r‚   rK   s      ru   Útest_expandr3  r  sW  € Ü	”!”Qœ‘U‘)˜Q�¤A¬¡E¬1¡9¬a¡-´´A¼¼1¼q¹5¹	±MÑ1BÐ!CÐDÓ	E€Bà	�‰‹€BØ”Ü
ŒA‰#”�1‘‰*�aˆœ1œQ ™T™6¤A¤a¨¡d¡F™?¬A¬a©C´!´A°q±D±&©L¼1¸a¹4Ñ,?Ð@ÐAóCò Cð Cð Cô 	ˆs˜Ô€Aä”3”q˜‘s“8�*Ó×$Ñ$¨TÐ$Ó2Ü”�A“œœ3˜q›6™Ñ!Ð"Ó#ò$ð $ð $ô ’9šjª)Ð4Ó5×9Ñ9Ó;¼vØ	
ˆAŒx˜˜1‹~ÐÚÚðGó @ò ð ñ rw   c            	      ó(  — t        t        t        «      dz  t        t        dz  «      gt        t        dz  «      t        t        «      dz  z  t        t        dz  «      t        t        «      dz  z  gg«      } | j                  t        j                  t        «      t        j                  t        «      z  «      }|t        t        dz  t        t        «      gt        dz  t        t        «      z  t        dz  t        t        «      z  gg«      k(  sJ ‚| j                  t        j                  t        «      t        j                  t        «      z  «      }|t        t        dz  t        gt        t        dz  z  t        dz  t        z  gg«      k(  sJ ‚| j                  t        j                  t        «      t        j                  t        «      z  «      }|t        t        dz  t         gt         t        dz  z  t        dz   t        z  gg«      k(  sJ ‚y rß  )
r   r   rP   rB   rQ   Úrefiner   r'  rˆ  r|  r(  s     ru   Útest_refiner6  …  st  € Ü	”#”a“&˜!‘)œT¤! Q¡$›ZÐ(Ü”a˜‘d“œC¤›F A™IÑ%¤t¬A¨q©D£z´#´a³&¸!±)Ñ';Ð<ð>ó 
?€Bà	�‰”1—6‘6œ!“9œqŸv™v¤a›yÑ(Ó	)€BØ”œ!˜Q™$¤¤A£˜¬!¨Q©$¬s´1«v©+´q¸!±t¼CÄ»F±{Ð)CÐDÓEÒEÐEÐEà	�‰”1—:‘:œa“=¤1§:¡:¬a£=Ñ0Ó	1€BØ”œ!˜Q™$¤˜¤Q¤q¨!¡t¡V¬Q°©T´!©VÐ$4Ð5Ó6Ò6Ð6Ð6à	�‰”1—:‘:œa“=¤1§:¡:¬a£=Ñ0Ó	1€BØ”œ!˜Q™$¤ ˜¤q b¬¨A©¡g´°1±¨u´Q©wÐ%7Ð8Ó9Ò9Ð9Ñ9rw   c                  óz  — t        dd«      } t        ddd¬«      } | t        ddd¬«      k(  sJ ‚t        dddd«      } t        ddd¬«      } | t        ddd¬«      k(  sJ ‚| j                  «       } |j                  «        || k(  sJ ‚t        j                  d«      }| t        dd|¬«      k(  sJ ‚d	D ])  }d
D ]"  }t        |d||¬«      } | | j
                  k(  rŒ"J ‚ Œ+ t        ddd¬«      } d}t        | j                  d   «      D ]/  }t        | j                  d   «      D ]  }| ||f   dk(  sŒ|dz  }Œ Œ1 |dk(  sJ ‚y )Nri   )Úseedrk   r   é–   T)r8  Ú	symmetric)r:  Úprng)rß   rá   )rd  éF   é   )r:  Úpercentr;  rß   rj   r<  )Úminr>  r=  )r8   ra  r@   ÚrandomÚRandomr-  rÌ   r¯  )r1  r"   Úrngr×  r>  Ú
zero_countrÑ   rÝ   s           ru   Útest_randomrD  ’  sb  € Ü�1�aÓ€AÜ�1�a˜aÔ €AØ”
˜1˜a aÔ(Ò(Ð(Ð(ä�1�a˜˜CÓ €AÜ�1˜1¨Ô-€AØ”
˜1 1°Ô5Ò5Ð5Ð5à	�‰‹€AØ€A‡J�J„LØ�Š6€Mˆ6ä
�-‰-˜Ó
€CØ”
˜1¨°3Ô7Ò7Ð7Ð7ð ò ˆØ$ò 	ˆGÜ˜4¨4¸ÀsÔKˆAØ˜Ÿ™“8ˆO�8ñ	ðô
 	�2˜1 bÔ)€AØ€JÜ�1—7‘7˜1‘:Óò  ˆÜ�q—w‘w˜q‘zÓ"ò 	 ˆAØ��A�‰w˜!‹|Ø˜a‘‘
ñ	 ð ð ˜ÒÐÑrw   c                  óê  ‡‡— t        d«      } | j                  «       t        d«      k(  sJ ‚| j                  d¬«      t        d«      k(  sJ ‚| j                  d¬«      t        d«      k(  sJ ‚| j                  d¬«      t        d«      k(  sJ ‚| j                  d¬«      t        d«      k(  sJ ‚| j                  d¬«      t        d«      k(  sJ ‚t        g d¢g d	¢g d
¢g«      } | j                  «       }| |z  t        d«      k(  sJ ‚| j                  d¬«      |k(  sJ ‚| j                  d¬«      |k(  sJ ‚| j                  d¬«      |k(  sJ ‚| j                  d¬«      |k(  sJ ‚| j                  d¬«      |k(  sJ ‚t        g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d ¢g d!¢g d"¢g d#¢g d$¢g«      }|j                  d%¬«      |z  t        |j                  d&   «      k(  sJ ‚t        Š ‰g d'¢g d(¢g d)¢g«      Št        ˆˆfd*„d+j                  «       D «       «      sJ ‚t        Š ‰g d'¢g d(¢g d)¢g«      Št        ˆˆfd,„d+j                  «       D «       «      sJ ‚y )-Nrk   rí  rg  rð  ró  r÷  ÚQR)rh   ri   rl   )ri   rm   rh   )r˜   ri   rm   ri   )r   r   r   r   rj   r   r   rj   r   rj   rj   rj   r   r   r   rj   rj   r   r   r   r   rj   rj   r   r   )rj   r   rj   r   r   rj   r   r   rj   r   rj   r   rj   rj   rj   r   rj   rj   r   r   r   r   r   rj   r   )rj   rj   rj   rj   r   rj   r   r   rj   rj   r   r   r   rj   rj   rj   rj   r   r   rj   rj   r   r   rj   rj   )rj   r   r   r   r   r   rj   rj   r   r   rj   rj   rj   r   r   r   r   r   r   rj   r   r   rj   r   r   )rj   r   r   rj   rj   rj   r   rj   r   r   rj   r   r   rj   rj   rj   r   rj   r   r   r   rj   r   r   r   )rj   r   r   r   r   r   r   r   rj   rj   rj   r   rj   r   rj   rj   rj   rj   r   r   r   rj   rj   r   rj   )r   rj   rj   rj   r   r   r   r   rj   rj   rj   r   rj   r   rj   r   rj   r   rj   r   rj   r   r   rj   r   )rj   rj   r   r   r   rj   rj   r   r   rj   rj   r   rj   rj   r   rj   rj   r   rj   r   rj   rj   r   rj   rj   )r   r   rj   rj   rj   r   r   rj   rj   r   rj   rj   r   rj   r   r   r   r   r   r   rj   r   rj   r   rj   )rj   r   rj   rj   rj   r   rj   r   r   rj   rj   r   rj   rj   r   rj   rj   rj   rj   r   rj   rj   rj   r   r   )r   rj   rj   r   r   r   r   rj   rj   r   rj   r   rj   r   rj   rj   r   r   rj   r   r   r   rj   rj   r   )rj   r   r   rj   r   rj   r   rj   rj   r   r   rj   r   rj   r   rj   r   rj   r   rj   r   rj   rj   r   r   )r   rj   rj   r   r   rj   rj   r   r   rj   rj   r   rj   r   r   r   rj   r   r   rj   r   rj   rj   r   rj   )rj   rj   rj   r   rj   r   r   rj   r   r   rj   r   rj   rj   r   r   rj   rj   rj   r   rj   r   rj   rj   r   )r   rj   r   r   r   r   rj   rj   r   rj   rj   r   r   r   r   rj   r   rj   rj   rj   r   r   rj   r   r   )rj   rj   rj   rj   r   rj   rj   rj   rj   rj   rj   r   r   r   rj   r   rj   r   rj   r   r   rj   r   r   r   )r   r   r   rj   r   rj   rj   r   rj   r   r   r   r   r   rj   r   rj   rj   r   rj   r   rj   rj   r   rj   )r   rj   r   rj   r   r   r   r   rj   rj   rj   r   r   rj   rj   rj   r   r   rj   r   rj   rj   r   rj   rj   )rj   r   rj   rj   r   rj   r   rj   rj   r   rj   rj   rj   r   rj   r   r   r   r   rj   r   r   rj   r   rj   )r   r   r   rj   r   r   rj   rj   r   rj   rj   r   rj   r   rj   rj   r   r   r   r   r   r   r   r   r   )rj   r   r   r   r   rj   r   rj   r   r   rj   rj   r   rj   r   rj   rj   rj   rj   r   rj   rj   rj   rj   rj   )r   r   rj   rj   r   rj   r   r   r   rj   r   r   rj   r   r   rj   r   r   r   rj   r   rj   r   rj   rj   )r   r   r   r   r   rj   rj   rj   r   rj   rj   rj   r   r   r   rj   r   rj   rj   r   rj   rj   r   r   r   )r   r   rj   r   rj   rj   r   rj   rj   rj   r   r   rj   r   rj   r   r   rj   r   rj   r   r   r   r   r   )r   r   r   rj   rj   r   rj   rj   rj   r   r   rj   r   rj   r   rj   rj   r   rj   rj   rj   r   r   rj   r   ÚBLOCKr   )rl  é1   é   )r™   éG   é^   )é;   é   éA   c              3   óV   •K  — | ]   }t        ‰j                  |«      «      ‰u –— Œ" y ­wrí   ©r»  r•  ©r=  rÒ  rK  rŽ   s     €€ru   r>  ztest_inverse.<locals>.<genexpr>ã  ó"   øè ø€ ÒL¨Œt�A—E‘E˜!“H‹~ Ô$ÑLùó   ƒ&)zGE ADJ LU CH LDL QRc              3   óV   •K  — | ]   }t        ‰j                  |«      «      ‰u –— Œ" y ­wrí   rP  rQ  s     €€ru   r>  ztest_inverse.<locals>.<genexpr>è  rR  rS  )r.   r•  r   r¯  r   rF  rg  r   )r´   ÚAinvÚAArK  rŽ   s      @@ru   Útest_inverserW  ±  sm  ù€ ÜˆA‹€AØ�5‰5‹7”c˜!“fÒÐÐØ�5‰5˜ˆ5Ó¤ Q£Ò'Ð'Ð'Ø�5‰5˜ˆ5Ó¤# a£&Ò(Ð(Ð(Ø�5‰5˜ˆ5Ó¤ Q£Ò'Ð'Ð'Ø�5‰5˜ˆ5Ó¤# a£&Ò(Ð(Ð(Ø�5‰5˜ˆ5Ó¤ Q£Ò'Ð'Ð'Ü’	ÚÚðó 	€Að �5‰5‹7€DØˆT‰6”S˜“VÒÐÐØ�5‰5˜ˆ5Ó Ò%Ð%Ð%Ø�5‰5˜ˆ5Ó $Ò&Ð&Ð&Ø�5‰5˜ˆ5Ó Ò%Ð%Ð%Ø�5‰5˜ˆ5Ó $Ò&Ð&Ð&Ø�5‰5˜ˆ5Ó Ò%Ð%Ð%ä	Ò\ÚWÚWÚWÚWÚWÚWÚWÚWÚWÚWÚWÚWÚWÚWÚWÚWÚWÚWÚWÚWÚWÚWÚWÚWð1Yó 
Z€Bð2 �6‰6˜ˆ6Ó! BÑ&¬#¨b¯h©h°q©kÓ*:Ò:Ð:Ð:ä
€CÙŠ\ÚÚðó 	€Aô ÔLÐ.C×.IÑ.IÓ.KÔLÔLÐLÐLÜ
€CÙŠ\ÚÚðó 	€Aô ÔLÐ.C×.IÑ.IÓ.KÔLÔLÐLÑLrw   c                  ó  — t        d«      \  } }}}}t        d«      }t        dddddd| z  |z  d|z  |z  z
  d| z  d|z  z
  z  d| z  |z  d| z  d|z  z
  z  gdddddd| z  |z  d|z  |z  z   d| z  |z  d|dz  z  z
  z  dgdd| z  |z  d|z  |z  z
  d| z  d|z  z
  z  d| z  |z  d| z  d|z  z
  z  ddddgdd| z  |z  d|z  |z  z   d| z  |z  d|dz  z  z
  z  dddddgdddd| z  |z  d|z  |z  z
  d| z  d|z  z
  z  d| z  |z  d| z  d|z  z
  z  ddgdddd| z  |z  d|z  |z  z   d| z  |z  d|dz  z  z
  z  dddgdd| z  |z  |z  d|z  | z  d|z  |z  z
  z  dd| z  |z  |z  d|z  | z  d|z  |z  z
  z  dd| z  |z  |z  d|z  | z  d|z  |z  z
  z  dgg«      }|j                  «       }||z  t        d«      z
  j	                  t
        «      t        d«      k(  sJ ‚t        d	„ |j                  t        «      D «       «      d
k  sJ ‚y )Nz)Tau Tau_syn_in Tau_syn_ex C_m Tau_syn_gapÚ__hr   ç      ð?ç       @ç      ð¿rh   r—   c              3   ó2   K  — | ]  }t        |«      –— Œ y ­wrí   ©rJ  ©r=  Úfs     ru   r>  z:test_inverse_symbolic_float_issue_26821.<locals>.<genexpr>ÿ  ó   è ø€ Ò/˜!Œs�1�vÑ/ùó   ‚ç     @�@)
rD   r   r•  r.   r/  rJ   rI   ÚmaxÚatomsr   )ÚTauÚ
Tau_syn_inÚ
Tau_syn_exÚC_mÚTau_syn_gaprY  r1  ÚMis           ru   Ú'test_inverse_symbolic_float_issue_26821rl  ë  s‹  € Ü4;Ð<gÓ4hÑ1€Cˆ�Z  kÜ
�%‹.€CäØ	
ˆ1ˆQˆq��C˜‘G˜C‘K  J¡¨sÑ 2Ñ2°S¸±W¸SÀ¹^Ñ5KÑLÈTÐRUÉXÐV`ÑM`ÐbeÐfiÑbiÐjmÐnxÑjxÑbxÑMyÐzØ	
ˆ1ˆQˆq��D˜‘H˜S‘L  Z¡°Ñ!3Ñ3°c¸#±g¸jÑ6HÈÈZÐYZÉ]ÑIZÑ6ZÑ[Ð\_Ð`Ø	
ˆC�‰G�C‰K˜˜J™ sÑ*Ñ*¨S°©W°S¸±^Ñ-CÑDÀTÈ#ÁXÈjÑEXÐZ]Ð^aÑZaÐbeÐfpÑbpÑZpÑEqÐrsÐtuÐvwÐxyÐzØ	
ˆD�‰H�S‰L˜˜Z™¨Ñ+Ñ+¨c°#©g°jÑ.@ÀÀZÐQRÁ]ÑARÑ.RÑSÐTWÐXYÐZ[Ð\]Ð^_Ð`Ø	
ˆ1ˆQ��C‘˜‘˜C ™O¨CÑ/Ñ/°#°c±'¸#¸k¹/Ñ2IÑJÈ4ÐPSÉ8ÐT_ÑK_ÐadÐehÑahÐilÐmxÑixÑaxÑKyÐz{Ð|}Ð~Ø	
ˆ1ˆQ��S‘˜‘˜S ™_¨SÑ0Ñ0°3°s±7¸;Ñ3FÀsÈ;ÐXYÉ>ÑGYÑ3YÑZÐ[^Ð_`ÐabÐcØ	ˆT�#‰X�jÑ  Ñ$ c¨#¡g¨c¡k°#°c±'¸*Ñ2DÑ&DÑEÀaÈÈSÉÐQ\ÑH\Ð]`ÑH`ÐbeÐfiÑbiÐjmÑbmÐnqÐruÑnuð  wBñ  oBñ  cBñ  ICð  DEð  FJð  KNñ  FNð  OYñ  FYð  Z]ñ  F]ð  _bð  cfñ  _fð  gjñ  _jð  knð  orñ  krð  s}ñ  k}ñ  _}ñ  F~ð  @ð  	Aðó 	€Að 
�‰‹€Bàˆb‰D”3�q“6‰M×$Ñ$¤VÓ,´°a³Ò8Ð8Ð8ô Ñ/˜rŸx™x¬›Ô/Ó/°#Ò5Ð5Ñ5rw   c                  óÜ  — t        d«      \  } }}}}t        d«      }t        g d¢d|dz  z  d|z  dddddgg d¢ddd|dz  z  d|z  dddgg d	¢ddddd|dz  z  d|z  dgd
|z  dd
|z  dd
|z  dd| z  gg«      }||z  j                  «       }|j                  |«      ||z  z
  j	                  t
        «      t        d«      k(  sJ ‚t        d„ |j                  t        «      D «       «      dk  sJ ‚y )Nz-Tau, Tau_syn_in, Tau_syn_ex, C_m, Tau_syn_gaprY  )r   rZ  r   r   r   r   r   rª   rh   r«   r   )r   r   r   rZ  r   r   r   )r   r   r   r   r   rj   r   rj   r—   c              3   ó2   K  — | ]  }t        |«      –— Œ y ­wrí   r^  r_  s     ru   r>  z6test_matrix_exponential_issue_26821.<locals>.<genexpr>  ra  rb  rc  )
rD   r   r,   r+   r/  rJ   rI   rd  re  r   )rK   rL   rM   rN   rŸ   rO   r1  ÚMes           ru   Ú#test_matrix_exponential_issue_26821rp    s  € ô ÐKÓL�M€A€qˆ!ˆQ�Ü�‹€AÜÚ;Ø	ˆAˆq‰D‰�"�Q‘$˜a A¨Q°1¸Ð;Ú;Ø�Q˜˜1˜a™4™  A¡¨Q°1¸Ð;Ú;Ø�Q˜a A r¨!¨Q©$¡w°°1±¸Ð;Øˆq‰S�Q˜A˜a™C A¨1¨Q©3°1°b¸±dÐ;ðó 	€Að ˆA‰#�‰‹€BØ�G‰G�A‹J˜˜2™Ñ×(Ñ(¬Ó0´E¸!³HÒ<Ð<Ð<ô Ñ/˜rŸx™x¬›Ô/Ó/°#Ò5Ð5Ñ5rw   c                  ó˜  — t        ddt        dz  t        z  dt        dz  z  t        t        z  z   g«      } t        t        g}| j                  |«      t        dt        z  t        z  t        dz  gt        dt        z  t        z   gg«      k(  sJ ‚t        ddt        t        dz  t        dz  z  g«      } | j                  |«      t        ddgdt        z  t        dz  z  t        dz  dz  t        dz  z  gg«      k(  sJ ‚t        dz  t        z  }t        t        g}t	        ||«      t        dt        z  dt        z  gdt        z  dgg«      k(  sJ ‚t        dz  t        dz  z  }t	        ||«      t        dt        dz  z  dt        z  t        dz  z  gdt        z  t        dz  z  dt        dz  z  t        z  gg«      k(  sJ ‚t
        t        t        dz  z  z   }t        dz  dt        dz  z  z   }t        ddt        z  gdt        z  dt        z  gg«      }|t	        |t        t        t        g«      «      k(  sJ ‚|t	        |t        t        t        g«      j                  «      k(  sJ ‚t	        |t        t        f|g«      t        ddt        dz  z  dt        z  gdt        dz  z  dt        z  dt        z  gdt        z  dt        z  dgg«      k(  sJ ‚y )Nrj   rh   rk   ri   r   rm   )r   rP   rQ   Újacobianr0   rR   r-  )r”  Úsymsr`  ÚgÚanss        ru   Útest_jacobian_hessianrv    sŒ  € Üˆq�!”a˜‘dœ1‘f˜a¤ 1¡™f¤q¬¡s™lÐ+Ó,€AÜŒqˆ6€DØ�:‰:�dÓœv¨¬!©¬A©¬q°!©t }´q¸!¼A¹#Ä¹'°lÐ&CÓDÒDÐDÐDäˆq�!”aœ˜A™œa ™d™�^Ó$€AØ�:‰:�dÓœv¨¨1 v°´!±´A°q±D±¼!¸Q¹$¸q¹&ÄÀAÁ¹+Ð/FÐ&GÓHÒHÐHÐHä	ˆ1‰ŒQ‰€AÜŒqˆ6€DÜ�1�dÓœv¨¬!©¨Q¬q©S z°A´a±C¸°8Ð&<Ó=Ò=Ð=Ð=ä	ˆ1‰ŒQ�‰T‰	€AÜ�1�dÓÜ�”1�a‘4‘˜œ1™œQ ™T™Ð" Q¤q¡S¬¨A©¡X¨q´°A±©v´a©xÐ$8Ð9Ó:ò;ð ;ð ;ô 	
ŒAŒa�‰d‰F‰
€AÜ	ˆ1‰ˆq”�A‘‰v‰€AÜ
�1˜œ!™�*Ø”Q‘3˜œ!™�*ðó €Cà”'˜!œV¤Q¬ F›^Ó,Ò,Ð,Ð,Ø”'˜!œV¤Q¬ F›^×-Ñ-Ó.Ò.Ð.Ð.Ü�1”qœ!�f˜q˜cÓ"¤fØ�”1�a‘4‘˜œ1™ÐØ	
Œ1ˆa‰4‰�A”a‘C˜œ1™ÐØŒa‰C�A”a‘C˜1Ðð.ó ' ò  ð  ñ  rw   c                  ó  — t        t        t        «      t        t        «      gt        «      t        t        «      dz  t        t        «      dz  z   k(  sJ ‚t        t	        t        «      t	        dt        z  «      gt        «      t	        dt        z  «      k(  sJ ‚t        t	        t        «      t        gt        «      t	        t        «      t        t	        t        «      z  z
  k(  sJ ‚t        dt        t        dz  gt        «      dk(  sJ ‚dt	        t        «      z  t        t        «      z  t        z  dt        t        «      z  t	        t        «      z  t        dz  z  z   dt	        t        «      z  t        t        «      z  t        z  z
  t	        t        «      t        t        «      z  t        dz  z  z
  t	        t        «      t        t        «      z  t        dz  z  z   } t        t	        t        «      t        t        «      t        dz  gt        «      j                  «       | k(  sJ ‚t        t	        t        «      t        t        «      t        dz  gt        d¬«      j                  «       | k(  sJ ‚t        dz   t        t        «      dz  z  t        dz  t        t        «      dz  z  z
  dt        z  t        t        «      dz  z  z
  dt        z  t        t        «      dz  z  z
  }t        t        t        «      t        t        «      t        dz  gt        «      j                  «       |k(  sJ ‚t        t        t        «      t        t        «      t        dz  gt        d¬«      j                  «       |k(  sJ ‚t        g t        «      dk(  sJ ‚y )Nrh   ri   rj   r¢  rm   r³  rg  )rH   r)   rP   rA   r,   r-   )Úw1Úw2s     ru   Útest_wronskianrz  4  s‚  € Ü”cœ!“fœc¤!›fÐ%¤qÓ)¬S´«V°Q©Y¼¼Q»À¹Ñ-BÒBÐBÐBÜ”cœ!“fœc !¤A¡#›hÐ'¬Ó+¬s°1´Q±3«xÒ7Ð7Ð7Ü”cœ!“fœa�[¤!Ó$¬¬A«´´3´q³6±Ñ(9Ò9Ð9Ð9Ü�aœœA˜q™D�\¤1Ó%¨Ò*Ð*Ð*Ø	ŒC”‹F‰”3”q“6Ñ	œ!Ñ	˜a¤¤A£™h¤s¬1£v™o¬a°©dÑ2Ñ	2°Q´s¼1³v±X¼cÄ!»f±_ÄQÑ5FÑ	FÜŒA‹Œs”1‹v‰”a˜‘dÑñ
Ü ¤›V¤C¬£F™]¬1¨a©4Ñ/ñ
0€Bä”cœ!“fœc¤!›f¤a¨¡dÐ+¬QÓ/×6Ñ6Ó8¸BÒ>Ð>Ð>Ü”cœ!“fœc¤!›f¤a¨¡dÐ+¬Q°{ÔC×JÑJÓLØòð ð ä
ˆQ‰$ˆŒs”1‹v�q‰y‰œ1˜a™4¤¤A£¨¡	™>Ñ	)¨A¬a©C´´A³¸±	©MÑ	9¸A¼a¹CÄÄAÃÈÁ	¹MÑ	I€BÜ”cœ!“fœc¤!›f¤a¨¡dÐ+¬QÓ/×6Ñ6Ó8¸BÒ>Ð>Ð>Ü”cœ!“fœc¤!›f¤a¨¡dÐ+¬Q°{ÔC×JÑJÓLØòð ð ä�RœÓ˜qÒ Ð Ñ rw   c                  ó¨  — t        dt        gt        dgg«      j                  t        di«      t        ddgddgg«      k(  sJ ‚t        t        dgt        t        z   dgg«      j                  t        dt        di«      t        ddgddgg«      k(  sJ ‚t        D ]8  } t        ddgddgg«      | j                  d«      j                  ddi«      k(  rŒ8J ‚ y )	Nrj   rk   rl   rh   rª   r«   ro  r   )r   rP   ÚxreplacerQ   r;  r.   rJ  s    ru   Útest_xreplacer}  E  sâ   € Ü�A”q�6œA˜q˜6Ð"Ó#×,Ñ,¬a°¨VÓ4Ü��A�˜˜A˜ÐÓ ò!ð !ð !ä”A�q�6œA¤™E 1˜:Ð&Ó'×0Ñ0´!°R¼¸B°Ó@Ü��Q�˜"˜a˜Ð!Ó"ò#ð #ð #äò GˆÜ˜˜1�v  1˜vÐ&Ó'¨3¯7©7°1«:×+>Ñ+>ÀÀ1¸vÓ+FÓFÐFÐFñGrw   c                  ó$  — t        d«      } t        d«      }t        dt        z  dt        z  z   t        t        t        z  z   t        z  g |t        «      t         |t        «      z  z    |t        «      z  dd| z  t        | t        z  «      | z  z
  z  t        z  gg«      }|j                  «        |t        t        t        z   t        t        z  z  dt        z   gdt        z   dddt        t        | z  «      z  z
  t        | z  z  z  gg«      k(  sJ ‚dt        z   dz  }t        |gg«      }|j                  «        |t        |gg«      k(  sJ ‚|j                  t        ¬«       |t        |j                  t        ¬«      gg«      k(  sJ ‚t        d«      } t        d«      }t        dt        z  dt        z  z   t        t        t        z  z   t        z  g |t        «      t         |t        «      z  z    |t        «      z  dd| z  t        | t        z  «      | z  z
  z  t        z  gg«      }|j                  «       t        t        t        z   t        t        z  z  dt        z   gdt        z   dddt        t        | z  «      z  z
  t        | z  z  z  gg«      k(  sJ ‚dt        z   dz  }t        |gg«      }|j                  «       t        |gg«      k(  sJ ‚|j                  t        ¬«      t        |j                  t        ¬«      gg«      k(  sJ ‚t        t        t        t        «      dz  t        t        «      dz  z   gg«      «      t        dgg«      k(  sJ ‚t        ddgddgg«      }d|j                  «       z  j                  «       t        dd	«      k(  sJ ‚y )
NrE  r`  rj   rh   )Úratior=  ri   rk   é"   )r$   r   r   rP   rQ   r)   r7   r@   r6   r   rA   Útracer    )rE  r`  r1  ÚeqrŽ   s        ru   Útest_simplifyrƒ  N  s0  € Üˆs‹€AÜ�‹€Aä˜Qœq™S 1¤Q¡3™Y¼¼Q¼q¹S¹ÄA¹ÐHÙ”Q“4œ!™Aœa›D™&‘=¡!¤A£$Ñ&¨¨Q¨q©S´3°q¼2±v³;¸q±=Ñ-@Ñ(AÄBÑ(FÐHðJó 	K€Aà‡J�J„LØ”œ1œq™5¤1¤q¡5™/À!ÄaÁ%ÐIØ$%¬¡E¨1¨q°1´S¼¸A¹³Y±;©ÄÀAÁÑ.FÑ+GÐIðKó Lò Lð Lð Là
Œa‰%�!‰€BÜ��ˆv‹€AØ‡J�J„LØ”˜˜�v“ÒÐÐØ‡J�J”R€JÔØ”˜Ÿ™¬2˜Ó.Ð/Ð0Ó1Ò1Ð1Ð1äˆs‹€AÜ�‹€AäØ”q‘S˜1œQ™3‘Y´´Q´q±S±¼A±Ð@ÙŒQ‹4”!‘A”a“D‘&‰=™!œA›$Ñ
  Q q¡S¬3¨q´2©v«;°q©=Ñ%8Ñ 9¼BÑ >Ð@ðó 	€Að �:‰:‹<œ6ÜŒq‰5”1”q‘5‰/°!´a±%Ð9Øœ‘E˜1˜q 1¤S¬¨A©£Y¡;™´°A±Ñ6Ñ7Ð9ð#ó ò ð ð ð
 Œa‰%�!‰€BÜ˜"˜˜Ó€AØ�:‰:‹<œ6 B 4 &›>Ò)Ð)Ð)Ø�:‰:œBˆ:Ó¤6¨B¯K©K¼b¨KÓ,AÐ+BÐ*CÓ#DÒDÐDÐDä”O¤c¬!£f¨a¡i´#´a³&¸!±)Ñ&;Ð%<Ð$=Ó>Ó?Ü# a S EÓ*ò+ð +ð +ô 	��Q�˜!˜Q˜Ð Ó!€AØˆq�w‰w‹y‰M×#Ñ#Ó%¬°!°R«Ò8Ð8Ñ8rw   c                  ó
  — t        g d¢g d¢g«      } | j                  t        ddgddgddgddgddgddgddgd	d	gd
d
gddgg
«      k(  sJ ‚| j                  j                  | k(  sJ ‚| j                  | j                  «       k(  sJ ‚y )N)
rj   rh   ri   rk   rl   rm   r—   r˜   r™   r   rj   rh   ri   rk   rl   rm   r—   r˜   r™   r   )r   r-  Ú	transposer0  s    ru   Útest_transposer†  v  s¬   € ÜÒ.Ú.ð0ó 	1€Aà�3‰3”&˜Q ˜FØ ˜FØ ˜FØ ˜FØ ˜FØ ˜FØ ˜FØ ˜FØ ˜FØ ˜Fð	%ó 	&ò 	&ð 	&ð 	&ð �3‰3�5‰5�AŠ:Ðˆ:Ø�3‰3�!—+‘+“-ÒÐÑrw   c            
      ó"  — t        t        d„ «       t        dt        t        t        gddt        t        gdddt        gg d¢g«      } | j                  t        g d¢t         dddgt         t         ddgt         t         t        dgg«      k(  sJ ‚y )Nc                  ó,   — t        d«      j                  S rÛ   )r.   r·   r{   rw   ru   r    z!test_conj_dirac.<locals>.<lambda>ˆ  s   € ¤3 q£6§8¡8€ rw   rj   r   r‰  r�  rª   )r_   ÚAttributeErrorr   r   r·   r0  s    ru   Útest_conj_diracrŠ  ‡  s”   € Ü
Œ>Ñ+Ô,ä�”A”qœ!�Ø�A”qœ!�Ø�A�qœ!�Úðó 	€Að
 �3‰3”&Ò*Ü˜2  A¨Ð*Ü˜2¤˜r 2¨Ð*Ü˜2¤˜r¤A rÐ*ð,ó -ò -ð -ñ -rw   c                  óV   — t        g d¢g d¢g d¢g«      } | j                  «       dk(  sJ ‚y )NrÄ   )r   rl   r   )r   r   r˜   r  ©r   r�  r0  s    ru   Ú
test_tracer�  •  s-   € Ü’	ÚÚðó 	€Að �7‰7‹9˜Š?Ð‰?rw   c                  óœ   — t        ddddg«      } | j                  dk(  sJ ‚t        t        ddgdt        dgg«      }|j                  dk(  sJ ‚y )Nrj   rh   r   rM  r   )r   r¯  rP   rQ   )rŽ   r1  s     ru   Ú
test_shaper�  œ  sX   € Üˆq�!�a˜�VÓ€AØ�7‰7�fÒÐÐÜ”�A�q�	Ø”A�q�	ðó 	€Aà�7‰7�fÒÐÑrw   c                  óÒ  — t        t        ddgdt        dgg«      } | j                  dd„ «       | t        t        ddgdt        dz   dgg«      k(  sJ ‚| j	                  dd„ «       | t        t        dz   ddgdt        z   t        dz   dgg«      k(  sJ ‚| j                  d«      t        t        dz   ddgg«      k(  sJ ‚| j                  d«      }d|d<   | d   t        dz   k(  sJ ‚| dd d	…f   }d|d<   | d   t        dz   k(  sJ ‚| j                  d«      }|t        t        dz   dt        z   g«      k(  sJ ‚d|d<   | d   t        dz   k(  sJ ‚| d d …df   }d|d<   | d   t        dz   k(  sJ ‚y )
Nr   rj   c                 ó   — | |z   dz   S r
  r{   )ÚrrÝ   s     ru   r    z!test_col_row_op.<locals>.<lambda>§  s   € ˜Q ™U Q™Y€ rw   rh   ri   c                 ó   — | t         |z  z   S rí   )rQ   )rM   rÝ   s     ru   r    z!test_col_row_op.<locals>.<lambda>«  s   € ˜Q¤ A¡™X€ rw   é*   r~   rª   )r   rP   rQ   Úrow_opÚcol_opr»   r¼   )r1  Úr1r  s      ru   Útest_col_row_opr˜  ¤  s®  € Ü”�A�q�	Ø”A�q�	ðó 	€Aà‡H�HˆQÑ&Ô'Ø”œ  1˜ØœA ™E 1˜ð'ó (ò (ð (ð (ð ‡H�HˆQÑ%Ô&Ø”œ˜Q™ A qÐ)ØœQ™¤ A¡ qÐ)ð+ó ,ò ,ð ,ð ,ð
 �5‰5�‹8”v¤ A¡ q¨!˜}˜oÓ.Ò.Ð.Ð.Ø	
�‰ˆq‹€BØ€B€q�EØˆT‰7”a˜!‘eÒÐÐØ	
ˆ1ˆcˆrˆcˆ6‰€BØ€B€q�EØˆT‰7”a˜!‘eÒÐÐØ	
�‰ˆq‹€BØ”œ˜Q™ ¤A¡˜Ó'Ò'Ð'Ð'Ø€B€q�EØˆT‰7”a˜!‘eÒÐÐØ	
Š1ˆaˆ4‰€BØ€B€q�EØˆT‰7”a˜!‘eÒÐÑrw   c                  ó†   — t        g d¢g d¢g«      } | j                  dd«       | d   dk(  sJ ‚| d   dk(  sJ ‚| d   d	k(  sJ ‚y )
Nrp   ro   rj   ri   r€   rx  r~   rM  rZ  )r   Úrow_multr0  s    ru   Útest_row_multr›  Á  sS   € Ü’Úðó 	€Aà‡J�Jˆq�„OØˆS‰6�RŠ<Ðˆ<ØˆS‰6�QŠ;Ðˆ;ØˆS‰6�RŠ<Ð‰<rw   c                  óŽ   — t        g d¢g d¢g d¢g«      } | j                  ddd«       | d   dk(  sJ ‚| d	   d
k(  sJ ‚| d   dk(  sJ ‚y )Nrp   ro   r¾  rh   r   rl   r~   rm   r€   rk   ©r   rh   r˜   )r   Úrow_addr0  s    ru   Útest_row_addrŸ  Ê  s[   € Ü’ÚÚðó 	€Að ‡I�Iˆa��!ÔØˆS‰6�QŠ;Ðˆ;ØˆS‰6�QŠ;Ðˆ;ØˆS‰6�QŠ;Ð‰;rw   c                  ó  — t         D ]‚  } | j                  d«      }|j                  ddd„ «       | | g d¢g d¢g d¢g«      k(  sJ ‚| j                  d«      dz  }d	|d
<   |j                  ddd„ «       | | | g d¢g d¢g d¢g«      k(  rŒ‚J ‚ y )Nri   rj   r   c                 ó   — | d|z  z   S rß  r{   ©r  Úus     ru   r    z!test_zip_row_op.<locals>.<lambda>×  ó   € ¨¨A¨a©C©€ rw   rÄ   rÛ  rÆ   rh   rª   r   c                 ó   — | d|z  z   S rß  r{   r¢  s     ru   r    z!test_zip_row_op.<locals>.<lambda>Þ  r¤  rw   )rh   rª   r   )rk   r   r   rà   )Úmutable_classesr.   Ú
zip_row_op)rK  r1  s     ru   Útest_zip_row_opr¨  Ô  sª   € Üò &ˆØ�G‰G�A‹JˆØ	�‰�Q˜Ñ/Ô0Ø‘CšÚ"Ú"ð$ó %ò %ð 	%ð %ð �G‰G�A‹J�q‰LˆØˆˆ$‰Ø	�‰�Q˜Ñ/Ô0±!Ø‘CšÚ#Ú#ð%ó &ó &ð 	&ð &ñ&rw   c                  ó”   — t        g d¢«      } t        g d¢«      }t        g d¢«      }| dvsJ ‚| dvsJ ‚| dk7  sJ ‚| |k(  sJ ‚| |k7  sJ ‚y )Nrp   )rh   rh   ri   r{   )rj   rj   r³  )rŽ   rK   rL   s      ru   Útest_issue_3950rª  ä  sY   € ÜŠyÓ€AÜŠyÓ€AÜŠyÓ€AØ�R‘Ð�Ø�S‘Ð�Ø�Š6€Mˆ6Ø�Š6€Mˆ6Ø�Š6€M‰6rw   c                  ód  —  G d„ d«      }  G d„ d«      } | «       } |«       }t        g d¢«      }||   dk(  sJ ‚d||<   |d   dk(  sJ ‚t        g d¢g d	¢g«      }|||f   d
k(  sJ ‚|d|f   d
k(  sJ ‚||df   d
k(  sJ ‚d|||f<   |d   dk(  sJ ‚d
|d|f<   |d   d
k(  sJ ‚d||df<   |d   dk(  sJ ‚y )Nc                   ó   — e Zd Zd„ Zy)útest_issue_3981.<locals>.Index1c                  ó   — yr
  r{   r+  s    ru   Ú	__index__z)test_issue_3981.<locals>.Index1.__index__ñ  ó   € Ørw   N©rª  r«  r¬  r¯  r{   rw   ru   ÚIndex1r­  ð  ó   „ ó	rw   r²  c                   ó   — e Zd Zd„ Zy)útest_issue_3981.<locals>.Index2c                  ó   — yrß  r{   r+  s    ru   r¯  z)test_issue_3981.<locals>.Index2.__index__õ  r°  rw   Nr±  r{   rw   ru   ÚIndex2rµ  ô  r³  rw   r·  rp   ri   rl   rh   ro   rm   rj   rk   rM  r˜   r³  )r²  r·  Úindex1Úindex2rŽ   s        ru   Útest_issue_3981rº  ï  s  € ÷ñ ÷ñ ñ ‹X€FÙ‹X€FäŠyÓ€AàˆV‰9˜Š>Ðˆ>à€A€f�IØˆQ‰4�1Š9Ðˆ9ä’	š9Ð%Ó&€AØˆV�Vˆ^Ñ Ò!Ð!Ð!ØˆQ�ˆY‰<˜1ÒÐÐØˆV�QˆY‰<˜1ÒÐÐà€A€fˆf€nÑØˆT‰7�aŠ<Ðˆ<Ø€A€aˆ€i�LØˆT‰7�aŠ<Ðˆ<Ø€A€fˆa€i�LØˆT‰7�aŠ<Ð‰<rw   c                  óº   — t        g d¢g«      } | j                  du sJ ‚t        dgdgdgg«      } | j                  du sJ ‚t        dd«      } | j                  du sJ ‚y )Nrp   Trj   rh   ri   Frk   )r   Úis_upperrI   r  s    ru   Útest_is_upperr½    se   € Ü’	ˆ{Ó€AØ�:‰:˜ÑÐÐÜ���a�S˜1˜#ˆÓ€AØ�:‰:˜ÑÐÐÜˆa�‹€AØ�:‰:˜ÑÐÑrw   c                  ó‚   — t        g d¢g«      } | j                  du sJ ‚t        dgdgdgg«      } | j                  du sJ ‚y )Nrp   Frj   rh   ri   T)r   Úis_lowerr  s    ru   Útest_is_lowerrÀ    sH   € Ü’	ˆ{Ó€AØ�:‰:˜ÑÐÐÜ���a�S˜1˜#ˆÓ€AØ�:‰:˜ÑÐÑrw   c                  óÌ   — t        ddg d¢«      }  | j                  «       sJ ‚t        ddgddgg«      }  | j                  «       rJ ‚t        g «      }  | j                  «       sJ ‚y )Nrk   )r   rh   rj   rm   r   r   rj   rh   r   r   r   ri   r   r   r   r   rj   r   ©r   rÜ  r  s    ru   Útest_is_nilpotentrÃ    sg   € Üˆq�!ÒEÓF€AØˆ1�>‰>ÔÐÐÜ��A�˜˜A˜ÐÓ €AØˆq�~‰~ÔÐÐÜˆr‹
€AØˆ1�>‰>ÔÐÑrw   c                  ó|  — d\  } }t        | |«      } |j                  d«       dt        | |«      z  }||k(  sJ ‚|j                  |j                  cxk(  rdk(  sJ ‚ J ‚|j                  |j                  cxk(  rdk(  sJ ‚ J ‚|j
                  |j
                  cxk(  rdk(  sJ ‚ J ‚t        d«      t        dd«      k(  sJ ‚t        d«      t        dd«      k(  sJ ‚t        dd«      t        dddgdz  «      k(  sJ ‚t        dd«      t        dddgdz  «      k(  sJ ‚ |j                  d«       |t        | |«      k(  sJ ‚y )N)ri   rl   rl   ri   rh   r   rm   rj   )rI   Úfillr5   rq   rr   r¯  r   )rE  rŽ   rK   rL   s       ru   Útest_zeros_ones_fillrÆ  '  s7  € Ø�D€A€qäˆa�‹€AØ
€A‡F�FˆA„Kà	ŒD��A‹J‰€Aà�Š6€Mˆ6Ø�6‰6�Q—V‘VÔ ˜qÒ Ð Ñ Ð Ð Ø�6‰6�Q—V‘VÔ ˜qÒ Ð Ñ Ð Ð Ø�7‰7�a—g‘gÔ' Ò'Ð'Ñ'Ð'Ð'Ü�‹8”u˜Q “{Ò"Ð"Ð"Ü�‹7”d˜1˜a“jÒ Ð Ð Ü��A‹;œ&  A¨ s¨1¡uÓ-Ò-Ð-Ð-Ü��1‹:œ  1 q c¨!¡eÓ,Ò,Ð,Ð,à
€A‡F�Fˆ1„IØ”�a˜“ÒÐÑrw   c                  óð   — t        d«      } | t        «       k(  sJ ‚t        dd«      } | j                  dk(  sJ ‚| j                  dk(  sJ ‚t        dd«      } | j                  dk(  sJ ‚| j                  dk(  sJ ‚y )Nr   rh   )rI   r   rq   rr   r  s    ru   Útest_empty_zerosrÈ  <  so   € Üˆa‹€AØ”“Š=Ðˆ=Üˆa�‹€AØ�6‰6�QŠ;Ðˆ;Ø�6‰6�QŠ;Ðˆ;Üˆa�‹€AØ�6‰6�QŠ;Ðˆ;Ø�6‰6�QŠ;Ð‰;rw   c                  óÊ  — t        t        dz  t        t        z  gt        t        t        «      z  t        t	        t        «      z  gg«      }  | j
                  t        «      t        dt        z  t        gt        t        «      t	        t        «      gg«      k(  sJ ‚t        t        t         t        dz  gt        t        «      dt        z  t        t         «      z
  t        dt        z  z   gg«      j                  t        t        «      t        t        t         t        gt        dt        gg«      k(  sJ ‚t        t        t        «      dz
  t        z  dt        z  t        t        z  z   t        t        z  gdt        z  t        t        «      t        t        t        dz   «      «      gg«      j                  t        d«      t        g d¢t        dt        d«      gg«      k(  sJ ‚ | j                  t        «      t        t        dd«      t        dz  z  t        t        dz  z  dz  gt        dz  t        t        «      z  dz  t        dz  t	        t        «      z  dz  gg«      k(  sJ ‚y )Nrh   rj   r   r÷  ri   )r   rP   rQ   rA   r)   r+   r,   rÿ  r6   rJ  r1   r    r  s    ru   Útest_issue_3749rÊ  G  s×  € Ü”�A‘”qœ‘s�œa¤¤A£™h¬¬#¬a«&©Ð1Ð2Ó3€AØˆ1�6‰6”!‹9œ ¤1¡¤a ¬3¬q«6´3´q³6Ð*:Ð;Ó<Ò<Ð<Ð<ÜÜ	
ŒQˆB”�1‘ˆÜ	ŒQ‹�”1‘”sœA˜2“w‘¤ A¤a¡C¡Ð(ð*ó +ç+0©5´´B«<Ü””b�Sœ"�¤ A¤r˜{Ð+Ó,ò-ð -ð -ô Ü
Œa‹&�1‰*”a‰˜œ1™œq¤™s™¤A¤q¡DÐ*Ø	
Œ1‰Œc”!‹f”cœ#œa !™e›*“oÐ&ð(ó )ç).©¬q°!«Ü’	œB ¤3 q£6˜?Ð+Ó,ò-ð -ð -ð ˆ1�;‰;”q‹>œVÜ	�!�Q‹œ˜1™Ñ	œa¤ 1¡™f Q™hÐ'Ü	
ˆA‰Œc”!‹f‰�Q‰œ˜1™œS¤›V™ A™Ð&ð%(ó )ò )ð )ñ )rw   c                  óž   — t        d«      } | j                  dd«       dD ]+  }| j                  |d„ ¬«      | j                  d¬«      k(  rŒ+J ‚ y )	Nrk   r   rj   )ræ  rí  c                 ó   — | dk(  S r-  r{   rt   s    ru   r    z%test_inv_iszerofunc.<locals>.<lambda>[  s
   € ¸¸a¹€ rw   )rh  Ú
iszerofuncrð  rg  )r.   Úcol_swapr•  )r´   rh  s     ru   Útest_inv_iszerofuncrÏ  W  sV   € ÜˆA‹€AØ‡J�Jˆq�!ÔØò  ˆØ�u‰u˜FÑ/?ˆuÓ@Ø�E‰E˜ˆEÓó ð 	 ð  ñ rw   c                  ó&  — t        d«      \  } }t        | t        |«      z  | t        |«      z  g«      }t        | |g«      }|j	                  |«      }||j	                  |j
                  «      k(  sJ ‚||j
                  j	                  |«      k(  sJ ‚||j
                  j	                  |j
                  «      k(  sJ ‚|j
                  t        |j                  d   «      z  |z  }|j                  t        «      }|t        ddgd| dz  gg«      k(  sJ ‚y )Núrho,phir   rj   rh   )
rD   r   r)   rA   rr  r-  r.   r¯  r/  rG   )ÚrhoÚphiÚXÚYr˜  rt  s         ru   Útest_jacobian_metricsrÖ  _  sï   € Ü�yÓ!�H€CˆÜ�”C˜“H‘˜c¤# c£(™lÐ+Ó,€AÜ��SˆzÓ€AØ	�
‰
�1‹€AØ�—
‘
˜1Ÿ3™3“ÒÐÐØ�—‘—‘˜qÓ!Ò!Ð!Ð!Ø�—‘—‘˜qŸs™sÓ#Ò#Ð#Ð#Ø	�‰ŒC�—‘˜‘
‹OÑ˜AÑ€AØ	�‰”HÓ€AØ”˜˜A˜  C¨¡F Ð,Ó-Ò-Ð-Ñ-rw   c                  ó<  — t        d«      \  } }t        | t        |«      z  | t        |«      z  | dz  g«      }t        | |g«      }t        t        |«      |  t        |«      z  gt        |«      | t        |«      z  gd| z  dgg«      }|j	                  |«      |k(  sJ ‚y )NrÑ  rh   r   )rD   r   r)   rA   rr  )rÒ  rÓ  rÔ  rÕ  r˜  s        ru   Útest_jacobian2rØ  l  s    € Ü�yÓ!�H€CˆÜ�”C˜“H‘˜c¤# c£(™l¨C°©FÐ3Ó4€AÜ��SˆzÓ€AÜÜ	ˆS‹�C�4œ˜C›‘=Ð!Ü	ˆS‹�Cœ˜C›‘LÐ!Øˆc‰E˜qÐ!ðó 	€Að
 �:‰:�a‹=˜AÒÐÑrw   c                  ó  — t        t        t        t        z   t        z   «      t        t        t        z   t        z   «      t        t        t        z   t        z   «      g«      } t        t        t        t        g«      }t        dd«      D ]z  }t        dd«      D ]i  }| d |…d d …f   }|d |…d d …f   }|j                  |«      }|j                  |k(  sJ ‚|j                  |k(  sJ ‚t        |«      D ]  }|d d …|f   |k(  rŒJ ‚ Œk Œ| y ©Nrj   ri   )	r   r,   rP   rQ   rR   rÌ   rr  rq   rr   )rÔ  rÕ  rÑ   rÝ   ÚX_sliceÚY_slicer˜  Úks           ru   Útest_issue_4564rÞ  x  sì   € Ü””Aœ‘EœA‘I“¤¤A¬¡E¬A¡I£´´A¼±E¼A±I³Ð?Ó@€AÜ””1”aˆyÓ€AÜ�1�a‹[ò *ˆÜ�q˜!“ò 	*ˆAØ˜˜˜šA˜‘hˆGØ˜˜˜šA˜‘hˆGØ× Ñ  Ó)ˆAØ—6‘6˜Q’;Ð�;Ø—6‘6˜Q’;Ð�;Ü˜1“Xò *�Øš˜A˜‘w 'Ó)Ð)Ð)ñ*ñ	*ñ*rw   c                  óÊ  ‡ ‡— t        t        t        t        z   t        z   «      t        t        t        z   t        z   «      gt        t        t        z   t        z   «      t        t        t        z   t        z   «      gg«      Š t        t        ˆ fd„«       ‰ dd d …f   Š t        t        t        gt        t        gg«      Št        t        ˆ ˆfd„«       t        t        ˆ fd„«       y )Nc                  óV   •— ‰ j                  t        t        t        t        g«      «      S rí   ©rr  r   rP   rQ   rR   ©rÔ  s   €ru   r    z(test_nonvectorJacobian.<locals>.<lambda>‰  s   ø€ ˜aŸj™j¬´´A´q°	Ó):Ó;€ rw   r   c                  ó&   •— ‰ j                  ‰«      S rí   )rr  ©rÔ  rÕ  s   €€ru   r    z(test_nonvectorJacobian.<locals>.<lambda>Œ  s   ø€ ˜aŸj™j¨›m€ rw   c                  ód   •— ‰ j                  t        t        t        gt        t        gg«      «      S rí   rá  râ  s   €ru   r    z(test_nonvectorJacobian.<locals>.<lambda>�  s"   ø€ ˜aŸj™j¬´1´a°&¼1¼a¸&Ð0BÓ)CÓD€ rw   )r   r,   rP   rQ   rR   r_   rh  rä  s   @@ru   Útest_nonvectorJacobianræ  †  s–   ù€ Ü””Qœ‘UœQ‘Y“¤¤Q¬¡U¬Q¡Y£Ð0Ü”Qœ‘UœQ‘Y“¤¤Q¬¡U¬Q¡Y£Ð0ð2ó 	3€Aä
Œ9Ó;Ô<Ø	ˆ!ŠQˆ$‰€AÜ””A�œœA˜ÐÓ €AÜ
Œ9Ô+Ô,Ü
Œ9ÓDÕErw   c                  ó¢   — t        ddgddgg«      } | j                  «       }|j                  dk(  sJ ‚t        d«      D ]  }||   |dz   k(  rŒJ ‚ y ©Nrj   ri   rh   rk   )r   Úvecrr   rÌ   )rŽ   Úm_vecrÑ   s      ru   Útest_vecrë  �  s]   € Ü��A�˜˜A˜ÐÓ €AØ�E‰E‹G€EØ�:‰:˜Š?Ðˆ?Ü�1‹Xò !ˆØ�Q‰x˜1˜q™5Ó Ð Ð ñ!rw   c                  óà  — t        ddgddgg«      } | j                  «       }|j                  dk(  sJ ‚t        d«      D ]  }||   |dz   k(  rŒJ ‚ | j                  d¬«      }|d   dk(  sJ ‚t        dt        t        t
        z   z  gt
        t        z  t        dz  z   dgg«      } | j                  d¬«      }|d   t
        t        z  t        dz  z   k(  sJ ‚t        dt        t        t
        z   z  gt
        t        z  dgg«      } | j                  dd¬«      }|d   t
        t        z  k(  sJ ‚t        t        d„ «       t        t        d	„ «       t        t        d
„ «       t        t        d„ «       y )Nrj   rh   ri   FrÍ  r   )rÎ  Úcheck_symmetryc                  ó:   — t        ddgg«      j                  «       S rÚ  ©r   Úvechr{   rw   ru   r    ztest_vech.<locals>.<lambda>©  ó   € œv¨¨1 v hÓ/×4Ñ4Ó6€ rw   c                  ó@   — t        ddgddgg«      j                  «       S rè  rï  r{   rw   ru   r    ztest_vech.<locals>.<lambda>ª  ó!   € œv¨¨1 v°°1¨vÐ&6Ó7×<Ñ<Ó>€ rw   c                  ó:   — t        ddgg«      j                  «       S rÚ  rï  r{   rw   ru   r    ztest_vech.<locals>.<lambda>«  rñ  rw   c                  ó@   — t        ddgddgg«      j                  «       S rè  rï  r{   rw   ru   r    ztest_vech.<locals>.<lambda>¬  ró  rw   )	r   rð  rr   rÌ   rP   rQ   r_   rX   r�  )rŽ   Úm_vechrÑ   s      ru   Ú	test_vechr÷  ˜  sO  € Ü��A�˜˜A˜ÐÓ €AØ�V‰V‹X€FØ�;‰;˜!ÒÐÐÜ�1‹Xò "ˆØ�a‰y˜A ™EÓ!Ð!Ð!ð"à�V‰V˜UˆVÓ#€FØ�!‰9˜Š>Ðˆ>ä�”A”qœ1‘u‘I�¤¤1¡¤q¨!¡t¡¨Q Ð0Ó1€AØ�V‰V˜UˆVÓ#€FØ�!‰9œœ!™œa ™d™
Ò"Ð"Ð"ä�”A”qœ1‘u‘I�¤¤1¡ a Ð)Ó*€AØ�V‰V˜U°5ˆVÓ9€FØ�!‰9œœ!™ÒÐÐä
Œ:Ñ6Ô7Ü
Œ:Ñ>Ô?Ü
Œ:Ñ6Ô7Ü
Œ:Ñ>Õ?rw   c                  ó¬   ‡ — t        g d¢«      t        g d¢«      k(  sJ ‚dddggŠ t        t        ˆ fd„«       t        ‰ d¬«      t        g d¢«      k(  sJ ‚y )Nrp   rj   rh   ri   c                  ó   •— t        ‰ «      S rí   )r*   r½   s   €ru   r    ztest_diag.<locals>.<lambda>³  s   ø€ œt A›w€ rw   F)Ústrict)r*   r   r_   r�  r½   s   @ru   Ú	test_diagrû  ¯  sK   ø€ ä’	‹?œf¢YÓ/Ò/Ð/Ð/Ø	
ˆA�ˆsˆ€AÜ
Œ:“Ô'Ü�˜%Ô ¤Fª9Ó$5Ò5Ð5Ñ5rw   c                  ó  — t        ddgddgg«      } t        dt        gt        dgg«      }t        dt        dgt        dt        gt        t        t        gg«      }t	        | ||«      }|j                  d¬«      t	         | j
                  «        |j
                  «        |j
                  «       «      k(  sJ ‚t	        | ||«      }|j                  d¬«      t	         | j
                  «        |j
                  «        |j
                  «       «      k(  sJ ‚t	        | ||«      }|j                  d¬«      t	         | j
                  «        |j
                  «        |j
                  «       «      k(  sJ ‚t	        | | || || «      }|j                  d¬«      t	         | j
                  «        | j
                  «        |j
                  «        | j
                  «        |j
                  «        | j
                  «       «      k(  sJ ‚|j                  dd¬«      t	         | j
                  d¬«       | j
                  d¬«       |j
                  d¬«       | j
                  d¬«       |j
                  d¬«       | j
                  d¬«      «      k(  sJ ‚y )	Nrj   rh   ri   T)Útry_block_diagrð  )rý  rh  rg  )r   rP   rQ   rR   r*   r•  )rK   rL   rM   r´   s       ru   Útest_inv_blockrþ  ·  s  € Ü��A�˜˜A˜ÐÓ €AÜ�”A�œ˜A˜ÐÓ €AÜ�”A�q�	œA˜q¤!˜9¤q¬!¬Q iÐ0Ó1€AÜˆQ��1‹€AØ�5‰5 ˆ5Ó%¬¨e¨a¯e©e«g°u°q·u±u³wÀÀÇÁÃÓ)HÒHÐHÐHÜˆQ��1‹€AØ�5‰5 ˆ5Ó%¬¨e¨a¯e©e«g°u°q·u±u³wÀÀÇÁÃÓ)HÒHÐHÐHÜˆQ��1‹€AØ�5‰5 ˆ5Ó%¬¨e¨a¯e©e«g°u°q·u±u³wÀÀÇÁÃÓ)HÒHÐHÐHÜˆQ��1�a˜˜AÓ€AØ�5‰5 ˆ5Ó%¬Øˆ�‰‹��—‘“˜%˜!Ÿ%™%›' 5 1§5¡5£7¨E¨A¯E©E«G°U°Q·U±U³Wó*>ò >ð >ð >à�5‰5 ¨Uˆ5Ó3´tØˆ�‰�UÔ˜U˜QŸU™U¨%Ô0°%°!·%±%¸uÔ2EØˆ�‰�UÔ˜U˜QŸU™U¨%Ô0°%°!·%±%¸uÔ2Eó8Gò Gð Gñ Grw   c                  ó\  — t        t        d„ «       t        t        d„ «       t        t	        d«      «      t        d«      k(  sJ ‚t        t        d«      «      t        d«      k(  sJ ‚t        t        d„ «       t        t	        d«      «      t        d«      k(  sJ ‚t        t        d«      «      t        d«      k(  sJ ‚t        t        d„ «       t        t	        d«      t        d«      «      t        dd«      k(  sJ ‚t        t        d„ «       t        t        d„ «       t        t        d	„ «       y
)zg
    Check that matrix dimensions can be specified using any reasonable type
    (see issue 4614).
    c                  ó   — t        dd«      S )Nri   rª   ©rI   r{   rw   ru   r    z$test_creation_args.<locals>.<lambda>Î  s   € œu Q¨›|€ rw   c                  ó   — t        dddd«      S ©Nrj   rh   ri   rk   r  r{   rw   ru   r    z$test_creation_args.<locals>.<lambda>Ï  s   € œe A q¨!¨QÓ/€ rw   ri   c                  ó   — t        d«      S ©Nç      @r  r{   rw   ru   r    z$test_creation_args.<locals>.<lambda>Ò  s
   € œu R›y€ rw   c                  ó   — t        d«      S r  ©r.   r{   rw   ru   r    z$test_creation_args.<locals>.<lambda>Õ  s
   € œs 2›w€ rw   rk   c                  ó   — t        d«      S r›   r³  r{   rw   ru   r    z$test_creation_args.<locals>.<lambda>×  s
   € œf Q›i€ rw   c                  ó   — t        dd«      S r  r³  r{   rw   ru   r    z$test_creation_args.<locals>.<lambda>Ø  s   € œf Q¨›l€ rw   c                  ó   — t        ddgg«      S r  r³  r{   rw   ru   r    z$test_creation_args.<locals>.<lambda>Ù  s   € œv q¨1¨# hÓ/€ rw   N)r_   r�  rh  rI   rf  r   r.   r5   r{   rw   ru   Útest_creation_argsr  É  sÜ   € ô
 Œ:Ñ+Ô,Ü
Œ9Ñ/Ô0Ü”�Q“‹=œE !›HÒ$Ð$Ð$Ü”˜“Ó¤ a£Ò(Ð(Ð(Ü
Œ:Ñ(Ô)ÜŒs�1‹v‹;œ#˜a›&Ò Ð Ð ÜŒw�q‹z‹?œc !›fÒ$Ð$Ð$Ü
Œ:‘Ô'Ü”�A“œ ›
Ó#¤t¨A¨q£zÒ1Ð1Ð1Ü
Œ9Ñ'Ô(Ü
Œ9Ñ*Ô+Ü
Œ:Ñ/Õ0rw   c                  ój  — t        ddg d¢«      } | j                  «       rJ ‚| j                  «       sJ ‚| j                  d¬«      sJ ‚t        ddg d¢«      } | j                  «       sJ ‚t        ddd«      } | j                  «       sJ ‚| j                  «       sJ ‚t        ddg d¢«      } | t        ddd«      k(  sJ ‚t        ddt	        dd«      «      } | j                  «       rJ ‚| j                  «       sJ ‚t        d	«      } | j                  «       sJ ‚t        d
«      } | j                  «       sJ ‚t        dddt
        dz  dt
        z  z   dz   t        t
        dz   dz  ddt        ddg	«      } | j                  «       sJ ‚| j                  d¬«      rJ ‚| j                  «       j                  d¬«      sJ ‚y )Nrh   r  Fr  rº  rj   ri   )	rj   r   r   r   rh   r   r   r   ri   ))rl   r   rW  r~   )©rl   r   r   )r   rm   r   r   )r   Úis_diagonalr  r*   rI   rP   rQ   r-   r½   s    ru   Útest_diagonal_symmetricalr  Ü  s�  € Üˆq�!’\Ó"€AØ�}‰}ŒÐÐØ�>‰>ÔÐÐØ�>‰> 5ˆ>Ô)Ð)Ð)äˆq�!’\Ó"€AØ�=‰=Œ?Ðˆ?äˆQ��1‹€AØ�=‰=Œ?Ðˆ?Ø�>‰>ÔÐÐäˆq�!Ò0Ó1€AØ”�Q˜˜1“ÒÐÐäˆq�!”U˜1˜a“[Ó!€AØ�~‰~ÔÐÐØ�=‰=Œ?Ðˆ?äÐ'Ó(€AØ�=‰=Œ?Ðˆ?äÐ%Ó&€AØ�=‰=Œ?Ðˆ?äˆq�!�aœ˜A™ ¤!¡™ a™¬¬Q°©U°Q©J¸¸1¼aÀÀAÐFÓG€AØ�>‰>ÔÐÐØ�~‰~ uˆ~Ô-Ð-Ð-Ø�8‰8‹:×"Ñ"¨EÐ"Ô2Ð2Ñ2rw   c                  óÀ  ‡— t        ddt        z   gdt        z
  dgg«      Š‰j                  «       sJ ‚t        ddg d¢«      Š‰j                  «       rJ ‚‰j                  «       rJ ‚t	        t
        ˆfd„«       t        ddd«      Š‰j                  «       \  } }| t        d«      k(  sJ ‚|‰k(  sJ ‚t        ddg d¢«      Š‰j                  «       sJ ‚‰j                  «       sJ ‚‰j                  «       \  } }| j                  «       ‰z  | z  |k(  sJ ‚t        ddg d¢«      Š‰j                  «       sJ ‚‰j                  «       sJ ‚‰j                  «       \  } }| j                  «       ‰z  | z  |k(  sJ ‚| t        d«      k(  sJ ‚|‰k(  sJ ‚t        ddg d¢«      Š‰j                  «       sJ ‚‰j                  «       \  } }| j                  «       ‰z  | z  |k(  sJ ‚t        ddg d	¢«      Š‰j                  «       sJ ‚‰j                  «       \  } }| j                  «       ‰z  | z  |k(  sJ ‚| D ]  }|j                  «       d   dk(  rŒJ ‚ t        ddg d
¢«      Š‰j                  «       sJ ‚‰j                  «       sJ ‚‰j                  «       \  } }| j                  «       ‰z  | z  |k(  sJ ‚| t        ddgddgg«      k(  sJ ‚t        ddg d¢«      Š‰j                  d«      rJ ‚t	        t        ˆfd„«       ‰j                  «       sJ ‚‰j                  «       \  } }| j                  «       ‰z  | z  |k(  sJ ‚t        ddg d¢«      Š‰j                  «       rJ ‚t	        t        ˆfd„«       t        ddg d¢«      Š‰j                  «       rJ ‚t	        t        ˆfd„«       t        d«      \  }}}}t        dd||||g«      Š‰j                  «       sJ ‚‰j                  «       sJ ‚y )Nrj   rh   ri   ©ro  rj   ro  re  ri   rß   c                  ó$   •— ‰ j                  «       S rí   ©râ  r½   s   €ru   r    z&test_diagonalization.<locals>.<lambda>	  ó   ø€ ¨¯©«€ rw   r  )rj   r   r   ri   r�  )	rj   rh   r   r   ri   r   rh   rË   rh   r�  r   )r   rj   rª   r   Tc                  ó&   •— ‰ j                  d«      S )NTr  r½   s   €ru   r    z&test_diagonalization.<locals>.<lambda>/	  s   ø€  §¡¨dÓ 3€ rw   ©r   rj   r   r   c                  ó$   •— ‰ j                  «       S rí   r  r½   s   €ru   r    z&test_diagonalization.<locals>.<lambda>7	  ó   ø€  §¡£€ rw   )	ro  rj   ro  re  ri   rß   rh   r«   rk   c                  ó$   •— ‰ j                  «       S rí   r  r½   s   €ru   r    z&test_diagonalization.<locals>.<lambda>;	  r  rw   za b c d)r   r   rß  r  r_   rW   r*   râ  r.   r•  Úas_numer_denomr  rV   rD   )r—  r·   rÑ   rK   rL   rM   rN   rŽ   s          @ru   Útest_diagonalizationr  ü  sÉ  ø€ Ü��A”a‘C�˜1œQ™3 ˜(Ð#Ó$€AØ×ÑÔ Ð Ð äˆq�!Ò+Ó,€AØ×"Ñ"Ô$Ð$Ð$Ø�~‰~ÔÐÐÜ
ÔÓ!8Ô9ô 	ˆQ��1‹€AØ�]‰]‹_�F€QˆØ”�A“Š;Ðˆ;Ø�Š6€Mˆ6äˆq�!’\Ó"€AØ�>‰>ÔÐÐØ×ÑÔ Ð Ð Ø�]‰]‹_�F€QˆØ�5‰5‹7�Q‰;˜‰?˜aÒÐÐäˆq�!’\Ó"€AØ�>‰>ÔÐÐØ×ÑÔ Ð Ð Ø�]‰]‹_�F€QˆØ�5‰5‹7�Q‰;˜‰?˜aÒÐÐØ”�A“Š;Ðˆ;Ø�Š6€Mˆ6äˆq�!’\Ó"€AØ×ÑÔ Ð Ð Ø�]‰]‹_�F€QˆØ�5‰5‹7�Q‰;˜‰?˜aÒÐÐäˆq�!Ò1Ó2€AØ×ÑÔ Ð Ð Ø�]‰]‹_�F€QˆØ�5‰5‹7�Q‰;˜‰?˜aÒÐÐØò *ˆØ×ÑÓ! !Ñ$¨Ó)Ð)Ð)ð*ô 	ˆq�!’\Ó"€AØ�=‰=Œ?Ðˆ?Ø×ÑÔ Ð Ð Ø�]‰]‹_�F€QˆØ�5‰5‹7�Q‰;˜‰?˜aÒÐÐØ”˜˜A˜  A Ð'Ó(Ò(Ð(Ð(ô 	ˆq�!’]Ó#€AØ×"Ñ" 4Ô(Ð(Ð(Ü
Œ;Ó3Ô4Ø×ÑÔ Ð Ð Ø�]‰]‹_�F€QˆØ�5‰5‹7�Q‰;˜‰?˜aÒÐÐô 	ˆq�!’\Ó"€AØ×"Ñ"Ô$Ð$Ð$Ü
Œ;Ó/Ô0äˆq�!Ò5Ó6€AØ×"Ñ"Ô$Ð$Ð$Ü
Œ;Ó/Ô0ô ˜Ó#�J€A€qˆ!ˆQÜˆq�!�a˜˜A˜q�\Ó"€AØ�>‰>ÔÐÐØ×ÑÔ Ð Ñ rw   c                  óú   ‡ — t        ddgddgg«      Š  ‰ j                  «       du sJ ‚d‰ d<    ‰ j                  «       du sJ ‚t        ddgddgg«      Š  ‰ j                  «        d‰ d<   t        t        ˆ fd„«       y )Nr   rj   Tr€   Fc                  ó&   •—  ‰ j                   «       S rí   r  r  s   €ru   r    z"test_issue_15887.<locals>.<lambda>N	  s   ø€   §¡£€ rw   )r   rß  râ  r_   rV   r  s   @ru   Útest_issue_15887r  D	  s‹   ø€ ä˜Q ˜F Q¨ FÐ+Ó,€AØˆ1×ÑÓ  DÑ(Ð(Ð(Ø€A€d�GØˆ1×ÑÓ  EÑ)Ð)Ð)ä˜Q ˜F Q¨ FÐ+Ó,€AØ€A‡M�M„OØ€A€d�GÜ
Œ;Ó/Õ0rw   c                  ó¼  ‡— t        ddg d¢«      Št        t        ˆfd„«       t        ddg d¢«      Št        ddg d¢«      } ‰j                  «       \  }}| |k(  sJ ‚| ‰j	                  «       d   k(  sJ ‚t        ddg d¢«      Št        ddg d	¢«      } ‰j                  «       \  }}| |k(  sJ ‚t        ddg d
¢«      Št        ddg d¢«      } ‰j                  «       \  }}| |k(  sJ ‚t        ddg d¢«      Št        ddg d¢«      } ‰j                  «       \  }}| |k(  sJ ‚t        ddg d¢«      Št        ddg d¢«      } ‰j                  «       \  }}| |k(  sJ ‚t        ddg d¢«      Št        ddg d¢«      } ‰j                  «       \  }}| |k(  sJ ‚t        ddg d¢«      Š‰j                  «       rJ ‚t        ddg d¢«      } ‰j                  «       \  }}| |k(  sJ ‚t        t        dd¬«      t        dd¬«      gt        dd¬«      t        dd¬«      gg«      Š‰j                  «       \  }}|j                  «       D ]$  }t        |t        «      sŒ|j                  dk(  rŒ$J ‚ y )Nri   rh   r  c                  ó$   •— ‰ j                  «       S rí   )r”  r½   s   €ru   r    z"test_jordan_form.<locals>.<lambda>T	  r  rw   )	r—   ré  rm   rß   iíÿÿÿrß   rx  ièÿÿÿr  )	rª   r   r   r   rj   r   r   r   rj   rj   ©	r   rj   r   rË   rk   r   r«   rj   rh   )	rh   rj   r   r   rh   r   r   r   rh   )	rh   rm   éñÿÿÿrj   rj   r¤   rj   rh   r¢  )	rª   rj   r   r   rª   r   r   r   rª   )	rk   r¤   rh   rl   rn  ri   rm   é÷ÿÿÿrk   )	r   rj   r   r   r   r   r   r   rj   rk   )rm   rl   r«   ro  ro  rª   ri   ri   rh   rj   r«   ro  rª   rj   rl   rl   )rh   rj   r   r   r   rh   r   r   r   r   rh   rj   r   r   r   rh   )rm   rh   éøÿÿÿr¢  ro  rh   r™   rm   rh   r«   r%  r¢  rª   r   ri   rk   )r«   r   r   r   r   rh   rj   r   r   r   rh   r   r   r   r   rh   )rl   rk   rh   rj   r   rj   rª   rª   rª   rª   ri   r   rj   rj   rª   rh   )rj   r   r   r   r   rh   r   r   r   r   rk   rj   r   r   r   rk   z1.0én   )Ú	precisionz2.0z3.14159265358979323846264338327z4.0)
r   r_   rW   r”  râ  rß  r   r)  r  Ú_prec)ÚJmustr—  r˜  ÚtermrŽ   s       @ru   Útest_jordan_formr+  Q	  ss  ø€ äˆq�!Ò+Ó,€AÜ
ÔÓ!8Ô9ô 	ˆq�!Ò:Ó;€AÜ�1�aÒ5Ó6€EØ�=‰=‹?�D€A€qØ�AŠ:Ðˆ:Ø�A—M‘M“O AÑ&Ò&Ð&Ð&ô 	ˆq�!Ò2Ó3€Aô �1�aÒ4Ó5€EØ�=‰=‹?�D€A€qØ�AŠ:Ðˆ:ô 	ˆq�!Ò4Ó5€Aô �1�aÒ7Ó8€EØ�=‰=‹?�D€A€qØ�AŠ:Ðˆ:ô 	ˆq�!Ò3Ó4€AÜ�1�aÒ4Ó5€EØ�=‰=‹?�D€A€qØ�AŠ:Ðˆ:äˆq�!ÒLÓM€AÜ�1�aò ó €Eð
 �=‰=‹?�D€A€qØ�AŠ:Ðˆ:äˆq�!ÒLÓM€Aô �1�aò 'ó (€Eð �=‰=‹?�D€A€qØ�AŠ:Ðˆ:äˆq�!ÒJÓK€AØ×"Ñ"Ô$Ð$Ð$Ü�1�aÒIÓJ€EØ�=‰=‹?�D€A€qØ�AŠ:Ðˆ:ô 	”�u¨Ô,¬e°EÀSÔ.IÐJÜÐ8ÀCÔHÌ%ÐPUÐadÔJeÐfðhó 	i€Aà�=‰=‹?�D€A€qØ—‘“
ò %ˆÜ�dœEÕ"Ø—:‘: Ó$Ð$Ð$ñ%rw   c            	      ód  — t        g d¢g d¢g d¢g d¢g«      } ddt        z  z
  }ddt        z  z   }t        |dddgd|ddgdd|dgddd|gg«      }t        |dddgd|ddgdd|dgddd|gg«      }| j                  «       \  }}||k(  s||k(  sJ ‚t        ||z  |j	                  «       z  «      | k(  sJ ‚y )	N)rh   rk   rj   r   )rË   rh   r   rj   )r   r   rh   rk   )r   r   rË   rh   rh   rk   rj   r   )r   r   r”  r@   r•  )r´   ÚpÚqÚJmust1ÚJmust2r—  r˜  s          ru   Ú#test_jordan_form_complex_issue_9274r1  œ	  sô   € ÜÒ Ú Ú Ú ð"ó 	#€Að 	
ˆAŒa‰C‰€AØ	ˆAŒa‰C‰€AÜ�a˜˜A˜q�\Ø˜˜A˜q�\Ø˜˜A˜q�\Ø˜˜A˜q�\ð#ó $€Fô �a˜˜A˜q�\Ø˜˜A˜q�\Ø˜˜A˜q�\Ø˜˜A˜q�\ð#ó $€Fð �=‰=‹?�D€A€qØ�Š;˜!˜vš+Ð%Ð%Ü�A�a‘C˜Ÿ™›‘KÓ  AÒ%Ð%Ñ%rw   c                  óÈ   — t        g d¢g d¢g d¢g d¢g«      } | j                  «       \  }}|t        g d¢g d¢g d¢g d¢g«      k(  sJ ‚|t        g d	¢g d¢g d¢g d¢g«      k(  sJ ‚y )
Nrº  r  rˆ  r‰  r  r�  r  rÇ  r�  )r   r”  r–  s      ru   Útest_issue_10220r3  °	  s‚   € ä’ÚÚÚðó 	€Að �=‰=‹?�D€A€qØ”šÚ$Ú$Ú$ð&ó 'ò 'ð 'ð 'ð ”Ú$Ú$Ú$Ú$ð	&ó 'ò 'ð 'ñ 'rw   c                  óÌ  — t        g d¢g d¢g d¢g d¢g«      } | j                  «       \  }}|j                  «       t        t         t         dz  t        t        dz  gdt        z   ddt        z
  dgdt	        d«       dz  t        dz  z
  dt	        d«       dz  t        dz  z   gg d	¢g«      k(  sJ ‚|t        t         dddgdt         ddgddt        dgdddt        gg«      k(  sJ ‚y )
Nr‘  )r«   rª   r   rª   )r   r   rª   rª   )r   r   rh   rj   rh   rª   r   rj   r  )r   r”  r-   r   r"   )r´   r—  r˜  s      ru   Útest_jordan_form_issue_15858r5  Â	  s  € ÜÚÚÚÚð	ó 	€Að
 �]‰]‹_�F€QˆØ�8‰8‹:œÜˆRœ1˜"˜Q™$¤Q´!°A±#Ð6Ø	Œa‰˜Q ¤Q¡°AÐ6Ø”!�A“$��q‘œ1˜Q™3‘ Q¬¨1«¨¨a©´!°A±#©Ð6Ú6ð	!8ó 9ò 9ð 9ð 9ð
 ”Ü
ˆˆQ��1ˆØ	
ŒQˆB��1ˆØ	
ˆAŒq�!ˆØ	
ˆAˆq”!ˆð	ó ò ð ñ rw   c                  óN  — t        d«      \  } }}t        | | z
  |dz  ||z   z  z   ||z  ||z   z  g||z  ||z   z  | |dz  ||z   z  z   gg«      }|j                  t        «      }|t	        t        dz  || z  || z  z   d|z  |z  z   ||z   z  t        z  z   ||z  | z  ||z   z  z   t        d¬«      k(  sJ ‚t        |«      t        u sJ ‚t        ddgddgg«      }|j                  «       |j                  t        «      cxk(  r t        t        dz  t        z
  dz
  «      k(  sJ ‚ J ‚t        ddgt        dgg«      }|j                  t        «      }|j                  t        k7  sJ ‚|j                  «       j                  |j                  t        «      t        dz  dt        z  z
  k(  sJ ‚y )	Nz
UA K_i K_wrh   zZZ(K_i,K_w,UA)r¥  rj   ri   r   rm   )
rD   r   r§  rP   r   r»  r   ÚgenÚas_exprru  )ÚUAÚK_iÚK_wr´   r§  r-  s         ru   Útest_Matrix_berkowitz_charpolyr<  Õ	  sº  € Ü˜<Ó(�L€BˆˆSä�#�˜‘˜S !™V S¨3¡YÑ/Ñ/°s¸3±wÀÀcÁ	Ñ7JÐKØ ™G S¨3¡YÑ/°#°¸¸Q¹ÀÀcÁ	Ñ8JÑ1JÐKðMó 	N€Að �z‰zœ!‹}€HàÜŒQ�‰T�S˜‘V˜c "™f‘_ q¨¡u¨S¡yÑ0°3¸±9Ñ=¼aÑ?Ñ?ØˆC‰�‰
�C˜#‘IÑñÜ !Ð*:ô	<ò<ð <ð <ô �‹>œXÑ%Ð%Ð%ä��A�˜˜A˜ÐÓ €AØ�:‰:‹<˜1Ÿ:™:¤a›=ÔB¬H´Q¸±T¼A±XÀ±\Ó,BÒBÐBÑBÐBÐBä��A�œ˜A˜ÐÓ €AØ	�
‰
”1‹€AØ�5‰5”AŠ:Ðˆ:Ø�9‰9‹;×Ñ˜AŸE™E¤1Ó%¬¨A©°´!±©Ò3Ð3Ñ3rw   c            
      óŠ  — t        d«      } t        j                  d| «      }|j                  «       t        t	        | «      gg«      k(  sJ ‚t        j                  d| «      }|j                  «       t        t	        | «      t	        | «      t	        | «      dz  gdt	        | «      t	        | «      gddt	        | «      gg«      k(  sJ ‚y )NÚlamdarj   ri   rh   r   )r$   r   rá  Ú_eval_matrix_exp_jblockr,   ©rÒ   rŽ   s     ru   Útest_exp_jordan_blockrA  ì	  s´   € Üˆw‹€Aä×Ñ˜A˜qÓ!€AØ×$Ñ$Ó&¬&´3°q³6°(°Ó*<Ò<Ð<Ð<ä×Ñ˜A˜qÓ!€AØ×$Ñ$Ó&ÜÜ�‹V”S˜“VœS ›V A™XÐ&Ø”�A“œ˜A›ÐØ�”3�q“6ˆNðó 	òð ñ rw   c            	      ó¬  — t        ddgddgg«      } t        t        d«      dt        d«      z  dz  dt        d«      z  dz  z   gdt        d«      gg«      }| j                  «       |k(  sJ ‚t        | «      |k(  sJ ‚t        ddgddgg«      } | j                  «       t        t        dgdt        gg«      k(  sJ ‚t        | «      t        t        dgdt        gg«      k(  sJ ‚t        ddgddgg«      } | j                  «       t        t        t        d«      z  t         t	        d«      z  gt        t	        d«      z  t        t        d«      z  gg«      k(  sJ ‚y )	Nri   rk   r   r«   rË   rl   rj   rª   )r   r,   r   r)   rA   )rŽ   Úm_exps     ru   Útest_exprD  ú	  s<  € Ü��A�˜˜B˜Ð Ó!€AÜ”S˜“V˜R¤ B£™Z¨™\¨A¬c°!«f©H°Q©JÑ6Ð7¸!¼SÀ»W¸ÐFÓG€EØ�5‰5‹7�eÒÐÐÜˆq‹6�UŠ?Ðˆ?ä��A�˜˜A˜ÐÓ €AØ�5‰5‹7”fœq !˜f q¬! fÐ-Ó.Ò.Ð.Ð.Üˆq‹6”Vœa ˜V a¬ VÐ,Ó-Ò-Ð-Ð-ä��B�˜!˜Q˜Ð Ó!€AØ�5‰5‹7”fœq¤ Q£™x¬!¨¬C°«F©Ð3´a¼¸A»±hÄÄ#ÀaÃ&ÁÐ5IÐJÓKÒKÐKÑKrw   c                  ó  ‡— t        d«      } t        j                  d| «      Š‰j                  «       t        t	        | «      gg«      k(  sJ ‚t        j                  d| «      Š‰j                  «       t        t	        | «      d| z  dd| dz  z  z  dd| dz  z  z  gdt	        | «      d| z  dd| dz  z  z  gddt	        | «      d| z  gdddt	        | «      gg«      k(  sJ ‚t        g d¢g d	¢g d
¢g«      Št        t        ˆfd„«       y )Nr>  rj   rk   rª   rh   ri   r   rÆ   rÕ   r…  c                  ó$   •— ‰ j                  «       S rí   )r2   r½   s   €ru   r    ztest_log.<locals>.<lambda>
  s   ø€  §¡£€ rw   )r$   r   rá  Ú_eval_matrix_log_jblockr2   r_   rV   r@  s    @ru   Útest_logrH  
  s  ø€ Üˆw‹€Aä×Ñ˜A˜qÓ!€AØ×$Ñ$Ó&¬&´3°q³6°(°Ó*<Ò<Ð<Ð<ä×Ñ˜A˜qÓ!€AØ×$Ñ$Ó&Üä�Q“˜˜1™˜b ! A q¡D¡&™k¨1¨a°°1±©f©:Ð6Ø”C˜“F˜A˜a™C  Q q¨!¡t¡V¡Ð-Ø�A”s˜1“v˜q ™sÐ#Ø�A�qœ#˜a›&Ð!ð	ó	
ò
ð 
ð 
ô 	Ú	ÚÚð	ó	€Aô
 Œ;›Õ(rw   c            	      óÖ   — t        d«      } t        dd| t        | «      dz  t        | «      dz  z   t        j
                  g«      }t        |«      \  }}}}|t        j
                  k(  sJ ‚y )NrP   ri   rj   rh   )r$   r   r)   rA   r"   r‰   rU   ©rP   ÚcolumnÚpivot_offsetÚ	pivot_valÚpivot_assumed_nonzeroÚ
simplifieds         ru   Ú:test_find_reasonable_pivot_naive_finds_guaranteed_nonzero1rP  !
  sc   € ô 	ˆs‹€AÜ�A�q˜1œc !›f a™i¬#¨a«&°!©)Ñ3´Q·V±VÐ<Ó=€Fä$ VÓ,ñ ?€L�)Ð2°JàœŸ™ÒÐÑrw   c            
      óì   — t        d«      } t        dd| t        | «      dz  t        | «      dz  z   | dz  z   t        | «      dz  t        | «      dz  z   g«      }t	        |t
        ¬«      \  }}}}|dk(  sJ ‚y )NrP   ri   rj   rh   ©Úsimpfunc)r$   r   r)   rA   rU   r[   rJ  s         ru   Ú:test_find_reasonable_pivot_naive_finds_guaranteed_nonzero2rT  .
  s‚   € ô 	ˆs‹€AÜ�A�qØÜ˜“V˜Q‘Yœs 1›v q™yÑ(¨¨A©Ñ-Ü˜“V˜Q‘Yœs 1›v q™yÑ(ð*ó+€Fô
 	% V´iÔ@ñ ?€L�)Ð2°Jà˜Š>Ð‰>rw   c            
      óf  — t        d«      } t        dd| t        | «      dz  t        | «      dz  z   | z   t        | «      dz  t        | «      dz  z   g«      }t	        |t
        ¬«      \  }}}}t        |«      dk(  sJ ‚|d   d   dk(  sJ ‚|d   d   d| z   k(  sJ ‚|d   d   dk(  sJ ‚|d   d   dk(  sJ ‚y )NrP   ri   rj   rh   rR  r   )r$   r   r)   rA   rU   r[   ÚlenrJ  s         ru   Ú+test_find_reasonable_pivot_naive_simplifiesrW  >
  sæ   € ô 	ˆs‹€AÜ�A�qØÜ˜“V˜Q‘Yœs 1›v q™yÑ(¨Ñ*Ü˜“V˜Q‘Yœs 1›v q™yÑ(ð*ó+€Fô
 	% V´iÔ@ñ ?€L�)Ð2°Jô ˆz‹?˜aÒÐÐØ�a‰=˜Ñ˜qÒ Ð Ð Ø�a‰=˜Ñ˜q ™sÒ"Ð"Ð"Ø�a‰=˜Ñ˜qÒ Ð Ð Ø�a‰=˜Ñ˜qÒ Ð Ñ rw   c                  óP  ‡ ‡— t        t        d„ «       t        t        d„ «       t        t        d„ «       t        t        d„ «       t        t        d„ «       t        t        d„ «       t        t        d„ «       t        t
        d„ «       t        t        d	„ «       t        t        d
„ «       t        t        d„ «       t        t        d„ «       t        t
        d„ «       t        t        d„ «       t        t        d„ «       t        t        d„ «       t        t        d„ «       t        t        d„ «       t        t        d„ «       t        t        d„ «       t        t        d„ «       t        t        d„ «       t        t
        d„ «       t        t        d„ «       t        t        d„ «       t        t
        d„ «       t        t        d„ «       t        t
        d„ «       t        t        d„ «       t        t
        d„ «       t        t
        d„ «       t        t
        d „ «       t        t        d!„ «       t        t        d"„ «       t        t        d#„ «       t        t        d$„ «       t        t        d%„ «       t        t        d&„ «       t        t        d'„ «       t        t        d(„ «       t        d)«      Š t        t        ˆ fd*„«       t        g d+¢g«      Št        g d,¢g d-¢g d.¢g«      Š t        t        ˆ ˆfd/„«       t        g d,¢g d-¢g d.¢g«      Š t        t        ˆ ˆfd0„«       y )1Nc                  ó"   — t        ddgdgg«      S r  r³  r{   rw   ru   r    ztest_errors.<locals>.<lambda>R
  s   € œv¨¨1 v°¨s mÓ4€ rw   c                  ó$   — t        ddgg«      d   S )Nrj   rh   )g333333ó?rl   r³  r{   rw   ru   r    ztest_errors.<locals>.<lambda>S
  ó   € œv¨¨1 v hÓ/°Ñ7€ rw   c                  ó$   — t        ddgg«      d   S )Nrj   rh   )rj   gÍÌÌÌÌÌ@r³  r{   rw   ru   r    ztest_errors.<locals>.<lambda>T
  r[  rw   c                  ó   — t        ddd¬«      S )Nri   rk   T)rM   r:  )r8   r{   rw   ru   r    ztest_errors.<locals>.<lambda>U
  s   € œz¨!¨q¸DÔA€ rw   c                  ó<   — t        ddg«      j                  dd«      S )Nrj   rh   rk   rm   )r   r'  r{   rw   ru   r    ztest_errors.<locals>.<lambda>V
  s   € œv q¨! f›~×5Ñ5°a¸Ó;€ rw   c                  ó^   — t        ddgddgg«      j                  ddgt        ddg«      «      S ry   )r   Úcopyin_matrixr{   rw   ru   r    ztest_errors.<locals>.<lambda>X
  s1   € ”˜˜A˜  A Ð'Ó(×6Ñ6¸¸1°v¼vÀqÈ!Àf»~ÓN€ rw   c                  óX   — t        ddgddgg«      j                  ddgt        «       «      S ry   )r   Úcopyin_listr(  r{   rw   ru   r    ztest_errors.<locals>.<lambda>Y
  s3   € œf q¨! f¨q°!¨fÐ%5Ó6×BÑBÀAØðDÜ‹uó€ rw   c                  ó@   — t        g d¢g d¢g«      j                  «       S )Nrp   )rh   ri   r   ©r   r•  r{   rw   ru   r    ztest_errors.<locals>.<lambda>[
  s   € ¬²ºIÐ0FÓ)G×)KÑ)KÓ)M€ rw   c                  ó\   — t        ddddg«      j                  t        ddgddgg«      «      S r  )r   rÁ   r{   rw   ru   r    ztest_errors.<locals>.<lambda>]
  s0   € ”�q˜!˜a ˜VÓ$×-Ñ-¬f°q¸!°f¸qÀ!¸fÐ5EÓ.FÓG€ rw   c                  óX   — t        ddg«      j                  t        ddgddgg«      «      S r  )r   rÇ   r{   rw   ru   r    ztest_errors.<locals>.<lambda>_
  s+   € œF A q 6›N×3Ñ3´F¸QÀ¸FÀQÈÀFÐ;KÓ4LÓM€ rw   c                  óX   — t        dg«      j                  dt        ddgddgg«      «      S r  )r   rÎ   r{   rw   ru   r    ztest_errors.<locals>.<lambda>`
  ó8   € œv q c›{×5Ñ5°a¼À!ØðBØ�1ˆvðAó :ó  € rw   c                  óX   — t        dg«      j                  dt        ddgddgg«      «      S r  )r   rÖ   r{   rw   ru   r    ztest_errors.<locals>.<lambda>b
  rh  rw   c                  ó8   — t        ddg«      j                  «       S r  rŒ  r{   rw   ru   r    ztest_errors.<locals>.<lambda>d
  s   € ¬°°A°«×)=Ñ)=Ó)?€ rw   c                  ó8   — t        dg«      j                  d«      S r
  )r   r/  r{   rw   ru   r    ztest_errors.<locals>.<lambda>e
  s   € œf a S›k×3Ñ3°AÓ6€ rw   c                  óD   — t        ddgddgg«      j                  dd«      S ©Nrj   rh   ri   rk   rl   )r   Úminorr{   rw   ru   r    ztest_errors.<locals>.<lambda>f
  s%   € œv¨¨1 v°°1¨vÐ&6Ó7×=Ñ=¸aÀÓC€ rw   c                  óD   — t        ddgddgg«      j                  dd«      S rm  )r   Úminor_submatrixr{   rw   ru   r    ztest_errors.<locals>.<lambda>g
  s%   € œv¨¨1 v°°1¨vÐ&6Ó7×GÑGÈÈ1ÓM€ rw   c                  ó:   — t        g d¢«      j                  d«      S ©Nrp   rj   ©r   Úcrossr{   rw   ru   r    ztest_errors.<locals>.<lambda>h
  s   € œf¢YÓ/×5Ñ5°aÓ8€ rw   c                  ó:   — t        g d¢«      j                  d«      S rr  ©r   Údotr{   rw   ru   r    ztest_errors.<locals>.<lambda>i
  s   € œf¢YÓ/×3Ñ3°AÓ6€ rw   c                  óP   — t        g d¢«      j                  t        ddg«      «      S )Nrp   rj   rh   rv  r{   rw   ru   r    ztest_errors.<locals>.<lambda>j
  s   € œv¢iÓ0×4Ñ4´V¸QÀ¸F³^ÓD€ rw   c                  ó:   — t        ddg«      j                  g «      S r  rv  r{   rw   ru   r    ztest_errors.<locals>.<lambda>k
  s   € œv q¨! f›~×1Ñ1°"Ó5€ rw   c                  ó:   — t        ddg«      j                  d«      S )Nrj   rh   rK   rv  r{   rw   ru   r    ztest_errors.<locals>.<lambda>l
  s   € œf a¨ V›n×0Ñ0°Ó5€ rw   c                  ó>   — t        ddg«      j                  g d¢«      S )Nrj   rh   rp   rv  r{   rw   ru   r    ztest_errors.<locals>.<lambda>m
  s   € œv q¨! f›~×1Ñ1²)Ó<€ rw   c                  ó8   — t        g d¢«      j                  «       S )Nrp   )r   r,   r{   rw   ru   r    ztest_errors.<locals>.<lambda>n
  s   € ¬²	Ó):×)>Ñ)>Ó)@€ rw   c                  ó@   — t        ddgddgg«      j                  «       S r  )r   Ú
normalizedr{   rw   ru   r    ztest_errors.<locals>.<lambda>o
  ó!   € œv¨¨1 v°°1¨vÐ&6Ó7×BÑBÓD€ rw   c                  ó<   — t        ddg«      j                  d¬«      S )Nrj   rh   znot a methodrg  rd  r{   rw   ru   r    ztest_errors.<locals>.<lambda>p
  s   € œv q¨! f›~×1Ñ1¸Ð1ÓH€ rw   c                  ó8   — t        ddg«      j                  «       S r  ©r   Ú
inverse_GEr{   rw   ru   r    ztest_errors.<locals>.<lambda>q
  ó   € ¬°°A°«×)BÑ)BÓ)D€ rw   c                  ó@   — t        ddgddgg«      j                  «       S r  r‚  r{   rw   ru   r    ztest_errors.<locals>.<lambda>r
  r  rw   c                  ó8   — t        ddg«      j                  «       S r  ©r   Úinverse_ADJr{   rw   ru   r    ztest_errors.<locals>.<lambda>s
  s   € ¬°°A°«×)CÑ)CÓ)E€ rw   c                  ó@   — t        ddgddgg«      j                  «       S r  r‡  r{   rw   ru   r    ztest_errors.<locals>.<lambda>t
  s!   € œv¨¨1 v°°1¨vÐ&6Ó7×CÑCÓE€ rw   c                  ó8   — t        ddg«      j                  «       S r  )r   Ú
inverse_LUr{   rw   ru   r    ztest_errors.<locals>.<lambda>u
  r„  rw   c                  ó8   — t        ddg«      j                  «       S r  rÂ  r{   rw   ru   r    ztest_errors.<locals>.<lambda>v
  s   € ¬°°A°«×)DÑ)DÓ)F€ rw   c                  ó8   — t        ddg«      j                  «       S r  ©r   r­  r{   rw   ru   r    ztest_errors.<locals>.<lambda>w
  s   € ¬°°A°«×);Ñ);Ó)=€ rw   c                  óD   — t        ddgddgg«      j                  d¬«      S )Nrj   rh   ri   rk   zNot a real methodrg  rŽ  r{   rw   ru   r    ztest_errors.<locals>.<lambda>y
  s'   € ”˜˜A˜  A Ð'Ó(×,Ñ,Ð4GÐ,ÓH€ rw   c                  óP   — t        g d¢g d¢g d¢g d¢g«      j                  d¬«      S )Nr  r  r|  r"  zNot function©rÍ  rŽ  r{   rw   ru   r    ztest_errors.<locals>.<lambda>{
  s)   € ”š¢lÚÒ)ð+ó ,ß,/©C¸>¨CÓ,Jð rw   c                  óP   — t        g d¢g d¢g d¢g d¢g«      j                  d¬«      S )Nr  r  r|  r"  Fr‘  rŽ  r{   rw   ru   r    ztest_errors.<locals>.<lambda>~
  s)   € ”š¢lÚÒ)ð+ó ,ß,/©C¸5¨CÓ,Að rw   c                  óV   — t        t        ddgddgg«      t        ddgddgg«      «      S r  ©r0   r   r{   rw   ru   r    ztest_errors.<locals>.<lambda>�
  s1   € ”œ  A ¨¨A¨Ð/Ó0´&¸1¸a¸&À1ÀaÀ&Ð9IÓ2JÓK€ rw   c                  ó8   — t        t        ddgddgg«      g «      S r  r”  r{   rw   ru   r    ztest_errors.<locals>.<lambda>‚
  s   € œw¤v°°1¨v¸¸1°vÐ.>Ó'?ÀÓD€ rw   c                  ó2   — t        t        d«      dz  d«      S )NrP   rh   rK   )r0   r$   r{   rw   ru   r    ztest_errors.<locals>.<lambda>ƒ
  s   € œw¤v¨c£{°A¡~°sÓ;€ rw   c                  ó   — t        d«      d   S )Nri   )rl   rh   r  r{   rw   ru   r    ztest_errors.<locals>.<lambda>„
  ó   € œs 1›v d™|€ rw   c                  ó   — t        d«      d   S )Nri   )rh   rl   r  r{   rw   ru   r    ztest_errors.<locals>.<lambda>…
  r˜  rw   r!  c                  ó&   •— ‰ j                  d«      S )Nzmethod=LU_decomposition())r­  r0  s   €ru   r    ztest_errors.<locals>.<lambda>‡
  s   ø€ ˜qŸu™uÐ%@ÓA€ rw   )rß   rß   rß   rp   ©rh   ri   rk   rù   c                  ó(   •— ‰ j                  d‰«      S )NgÍÌÌÌÌÌ@)rÎ   ©r1  ÚVs   €€ru   r    ztest_errors.<locals>.<lambda>Š
  s   ø€ ˜qŸ|™|¨C°Ó3€ rw   c                  ó(   •— ‰ j                  d‰«      S )NgÍÌÌÌÌÌÀ)rÖ   r�  s   €€ru   r    ztest_errors.<locals>.<lambda>Œ
  s   ø€ ˜qŸ|™|¨D°!Ó4€ rw   )r_   r�  r­   rX   rh  rW   r   r�  s   @@ru   Útest_errorsr   Q
  sI  ù€ Ü
Œ:Ñ4Ô5Ü
Œ:Ñ7Ô8Ü
Œ:Ñ7Ô8Ü
Œ:ÑAÔBÜ
Œ:Ñ;Ô<Ü
Œ:ÙNôPä
Œ9ñ ô ä
ÔÑ!MÔNÜ
Œ:ÙGôIä
ÜÑMôOä
Œ:ñ ô ä
Œ:ñ ô ä
ÔÑ!?Ô@Ü
Œ9Ñ6Ô7Ü
Œ:ÑCÔDÜ
Œ:ÑMÔNÜ
Œ9Ñ8Ô9Ü
Œ9Ñ6Ô7Ü
Œ:ÑDÔEÜ
Œ:Ñ5Ô6Ü
Œ9Ñ5Ô6Ü
Œ:Ñ<Ô=Ü
ÔÑ!@ÔAÜ
Œ:ÑDÔEÜ
Œ:ÑHÔIÜ
ÔÑ!DÔEÜ
Œ:ÑDÔEÜ
ÔÑ!EÔFÜ
Œ:ÑEÔFÜ
ÔÑ!DÔEÜ
ÔÑ!FÔGÜ
ÔÑ!=Ô>Ü
Œ:ÙHôJä
Œ:ñ	KôLô Œ:ñ	BôCô Œ:ÙKôMä
Œ:ÑDÔEÜ
Œ:Ñ;Ô<Ü
Œ:Ñ+Ô,Ü
Œ:Ñ+Ô,ÜÐNÓO€AÜ
Œ:ÓAÔBÜ’ˆ~Ó€AÜ’	š9¢iÐ0Ó1€AÜ
Œ:Ô3Ô4Ü’	š9¢iÐ0Ó1€AÜ
Œ:Ô4Õ5rw   c                  óÜ  — t        t        «       «      dk(  sJ ‚t        t        ddgg«      «      t        t        dgdgg«      «      cxk(  rdk(  sJ ‚ J ‚t        t        ddd„ «      «      t        t        ddd„ «      «      cxk(  rdk(  sJ ‚ J ‚t        t        g d¢g d¢g«      «      dk(  sJ ‚t        dg«      t        dgg«      k(  sJ ‚t        «       rJ ‚t        «       t        g «      k(  sJ ‚y )	Nr   rj   rh   c                  ó   — yr-  r{   rÜ   s     ru   r    ztest_len.<locals>.<lambda>’
  r.  rw   c                  ó   — yr-  r{   rÜ   s     ru   r    ztest_len.<locals>.<lambda>“
  r.  rw   r‘   rù   rm   )rV  r   r{   rw   ru   Útest_lenr¤  �
  së   € ÜŒv‹x‹=˜AÒÐÐÜŒv˜˜1�v�hÓÓ ¤C¬°°°a°S¨zÓ(:Ó$;Ô@¸qÒ@Ð@Ñ@Ð@Ð@ÜŒv�a˜™NÓ+Ó,ÜŒF�1�a™Ó(Ó)ô/Ø-.ò/ð /ñ /ð /ð /äŒv’y¢)Ð,Ó-Ó.°!Ò3Ð3Ð3Ü�1�#‹;œ& 1 # ›-Ò'Ð'Ð'ÜŒxÐˆ<Ü‹8”v˜b“zÒ!Ð!Ñ!rw   c            
      óÒ  — t        ddt        ft        ddfddt        dz  ff«      } | j                  t        «      t        t        dt        z  t        dz  dz  ft        t        z  dt        z  dt        z  fdt        z  dt        z  t        dz  dz  ff«      k(  sJ ‚| j                  t        «      t        t        dt        z  t        t        z  ft        dz  dz  dt        z  dt        z  fdt        z  dt        z  t        t        dz  z  ff«      k(  sJ ‚t        ddt        t        g«      }|j                  t        «      t        ddt        dz  dz  t        t        z  g«      k(  sJ ‚y )Nrj   rk   rh   rß   rl   ri   )r   rP   rQ   r1   )r´   rŽ   s     ru   Útest_integrater¦  š
  s:  € Ü��A”q�	œA˜q !˜9 r¨1¬a°©d mÐ4Ó5€AØ�;‰;”q‹>Ü”�A”a‘Cœ˜A™˜a™Ð ¤1¤Q¡3¨¬!©¨Q¬q©S /°B´q±D¸!¼A¹#¼qÀ!¹tÀA¹vÐ3FÐGÓHòIð Ið Ià�;‰;”q‹>Ü”�A”a‘Cœœ1™�¤ 1¡ Q¡¨¬!©¨Q¬q©SÐ1°B´q±D¸!¼A¹#¼qÄÀAÁ¹vÐ3FÐGÓHòIð Ið Iäˆq�!”aœ�VÓ€AØ�;‰;”q‹>œV A q¬1¨a©4°©6´1´Q±3¨-Ó8Ò8Ð8Ñ8rw   c            	      ó4  — t        ddt        ft        ddfddt        dz  dz   ff«      } t        | j	                  t        «      t        | «      «      sJ ‚| j	                  t        «      t        dddddt        z  ff«      k(  sJ ‚| j	                  t        «      t        d	«      k(  sJ ‚t	        | t        «      t        dddddt        z  ff«      k(  sJ ‚t	        | t        «      t        d	«      k(  sJ ‚| j                  «       }t        |j	                  t        «      t        |«      «      sJ ‚|j	                  t        «      t        dddddt        z  ff«      k(  sJ ‚|j	                  t        «      t        d	«      k(  sJ ‚t	        |t        «      t        dddddt        z  ff«      k(  sJ ‚t	        |t        «      t        d	«      k(  sJ ‚| j	                  t        d
¬«      t        | t        d
¬«      k(  sJ ‚t	        | t        d
¬«      t        | t        d
¬«      k(  sJ ‚y )Nrj   rk   rh   rß   rl   rÆ   rÕ   r   )rÕ   rÄ   rÕ   Fr4  )	r   rP   rQ   r  r+   r»  r  r   r]   )r´   ÚA_imms     ru   Ú	test_diffr©  ¤
  sÚ  € Ü˜Q ¤1˜I¬¨1¨a y°2°q¼!¸Q¹$À¹(Ð2CÐDÓE€AÜ�a—f‘fœQ“i¤ a£Ô)Ð)Ð)Ø�6‰6”!‹9Ô*¨I°yÀ1ÀaÈÌ1ÉÀ+Ð+NÓOÒOÐOÐOØ�6‰6”!‹9Ô*Ð+LÓMÒMÐMÐMä�”1‹:Ô+¨Y¸	ÀAÀqÈ!ÌAÉ#À;Ð,OÓPÒPÐPÐPÜ�”1‹:Ô+Ð,MÓNÒNÐNÐNà�N‰NÓ€EÜ�e—j‘j¤“m¤T¨%£[Ô1Ð1Ð1Ø�:‰:”a‹=Ô0°)¸YÈÈAÈqÔQRÉsÈÐ1TÓUÒUÐUÐUØ�:‰:”a‹=Ô0Ð1RÓSÒSÐSÐSä�”q‹>Ô1°9¸iÈ!ÈQÐPQÔRSÑPSÈÐ2UÓVÒVÐVÐVÜ�”q‹>Ô1Ð2SÓTÒTÐTÐTà�6‰6”!˜eˆ6Ó$¬¸¼1ÀuÔ(MÒMÐMÐMÜ�”1˜uÔ%¬¸¼AÈÔ)NÒNÐNÑNrw   c                  ó€  — t        t        t        gt        t        gg«      } | j                  | «      t        ddgddggddgddgggddgddggddgddgggg«      k(  sJ ‚t        | | «      t        ddgddggddgddgggddgddggddgddgggg«      k(  sJ ‚| j                  «       }|j                  |«      t        ddgddggddgddgggddgddggddgddgggg«      k(  sJ ‚t        ||«      t        ddgddggddgddgggddgddggddgddgggg«      k(  sJ ‚| j                  t        «      t        ddgddgg«      k(  sJ ‚t        t        t        g«      }| j                  |«      t        j                  dddd«      k(  sJ ‚| j                  | «      t        ddgddggddgddgggddgddggddgddgggg«      k(  sJ ‚|j                  t        t        gg«      }|j                  dk(  sJ ‚|t        dgdggdgdggg«      k(  sJ ‚t        d«      } |t        t        t        «      }|j                  t        t        t        gg«      t        |j                  t        «      |j                  t        «      |j                  t        «      g«      k(  sJ ‚|j                  t        t        t        gdf«      t        |j                  t        d«      |j                  t        t        «      |j                  t        t        «      g|j                  t        t        «      |j                  t        d«      |j                  t        t        «      g|j                  t        t        «      |j                  t        t        «      |j                  t        d«      gg«      k(  sJ ‚t        t        «      t        t        «      z  }|j                  t        t        gg«      t        t!        t        «      t        t        «      z  t        t        «      t        t        «      z  g«      k(  sJ ‚|j                  t        t        t        ff«      t        t!        t        «      t        t        «      z  t        t        «      t        t        «      z  g«      k(  sJ ‚|j                  t        t        t        ff«      t        t        t        «       t        t        «      z  t!        t        «      t        t        «      z  g«      k(  sJ ‚|j                  t        t        fft        t        gg«      t        t!        t        «      t        t        «      z  t        t        «       t        t        «      z  gt        t        «      t        t        «      z  t!        t        «      t        t        «      z  gg«      k(  sJ ‚|j                  t        «      j                  t        «      j                  t        «      |j                  t        t        t        ffd«      d   k(  sJ ‚|j                  t        «      j                  t        «      j                  t        «      |j                  t        t        t        ffd«      d   k(  sJ ‚|j                  t        t        t        ggt        t        t        ff«      t        t        t        t        fD ��cg c]?  }t        t        t        fD �cg c]"  }|j                  |«      j                  |«      ‘Œ$ c}‘ŒA c}}«      k(  sJ ‚t        j
                  t#        t        t        gg«      «      }	t%        |	t        «      sJ ‚|	t#        ddgg«      k(  sJ ‚t        dz  j                  t#        t        t        gg«      «      }	t%        |	t        «      sJ ‚|	t#        dt        dz  z  dgg«      k(  sJ ‚y c c}w c c}}w )	Nrj   r   rh   )rh   rh   rj   r`  ri   rÅ   rÛ  )r   rP   rQ   rR   rO   r+   r   r  rK   r   rL   rI   r¯  r   rA   r,   r)   r   r  )
r´   r¨  rµ   ÚdBr`  ÚfxyzÚexprrÝ   rÑ   Úress
             ru   Útest_diff_by_matrixr¯  ¹
  sÀ  € ô 	œQ¤˜F¤Q¬ FÐ+Ó,€AØ�6‰6�!‹9œ ! Q ¨!¨Q¨Ð 0°A°q°6¸A¸q¸6Ð2BÐCÈÈ1ÀvÐPQÐSTÈvÐFVÐZ[Ð]^ÐY_ÐbcÐefÐagÐXhÐEiÐjÓkÒkÐkÐkÜ��1‹:œ 1 a &¨1¨a¨&Ð!1°Q¸°F¸QÀ¸FÐ3CÐ DÈÈAÈÐQRÐTUÐPVÐGWÐ[\Ð^_ÐZ`ÐcdÐfgÐbhÐYiÐFjÐkÓlÒlÐlÐlà�N‰NÓ€EØ�:‰:�eÓ¤¨!¨Q¨°!°Q°Ð(8¸A¸q¸6ÀAÀqÀ6Ð:JÐ'KÐPQÐSTÈvÐXYÐ[\ÐW]ÐN^ÐbcÐefÐagÐjkÐmnÐioÐ`pÐMqÐ&rÓ sÒsÐsÐsÜ��uÓ¤¨1¨a¨&°1°a°&Ð)9¸QÀ¸FÀQÈÀFÐ;KÐ(LÐQRÐTUÐPVÐYZÐ\]ÐX^ÐO_ÐcdÐfgÐbhÐklÐnoÐjpÐaqÐNrÐ'sÓ!tÒtÐtÐtð �6‰6”!‹9Ô*¨Q°¨F°Q¸°FÐ+;Ó<Ò<Ð<Ð<äœa¤˜VÓ$€AØ�6‰6�!‹9œŸ™ A q¨!¨QÓ/Ò/Ð/Ð/Ø�6‰6�!‹9œ ! Q ¨!¨Q¨Ð 0°A°q°6¸A¸q¸6Ð2BÐCÈÈ1ÀvÐPQÐSTÈvÐFVÐZ[Ð]^ÐY_ÐbcÐefÐagÐXhÐEiÐjÓkÒkÐkÐkð 
�‰”!”Q��Ó	€BØ�8‰8�yÒ Ð Ð Ø”˜!˜˜q˜c˜
 a S¨1¨# JÐ/Ó0Ò0Ð0Ð0ä�‹€AÙŒQ””1‹:€DØ�9‰9”qœ!œQ�i�[Ó!¤U¨D¯I©I´a«L¸$¿)¹)ÄA»,ÈÏ	É	ÔRSËÐ+UÓ%VÒVÐVÐVØ�9‰9”qœ!œQ�i �^Ó$¬Ø	�‰”1�a‹˜$Ÿ)™)¤A¤q›/¨4¯9©9´Q¼«?Ð;Ø	�‰”1”a‹˜$Ÿ)™)¤A q›/¨4¯9©9´Q¼«?Ð;Ø	�‰”1”a‹˜$Ÿ)™)¤A¤q›/¨4¯9©9´Q¸«?Ð;ð/ó )ò ð ð ô Œq‹6”#”a“&‰=€DØ�9‰9”qœ!�f�XÓ¤%¬¬Q«´´A³©¼¼A»¼sÄ1»v¹Ð(FÓ"GÒGÐGÐGØ�9‰9”Qœ!œQ˜˜	Ó"¤e¬S´«V´C¼³F©]¼CÄ»FÄ3ÄqÃ6¹MÐ,JÓ&KÒKÐKÐKØ�9‰9”Qœ!œQ˜˜	Ó"¤e¬c´!«f¨W´S¼³V©^¼SÄ»VÄCÌÃF¹]Ð,KÓ&LÒLÐLÐLØ�9‰9”qœ!�f�Y¤!¤Q  Ó)¬U´S¼³V¼CÄ»F±]ÄSÌÃVÀGÌCÔPQËFÁNÐ4SÔVYÔZ[ÓV\Ô]`ÔabÓ]cÑVcÔehÔijÓekÔloÔpqÓlrÑerÐUsÐ3tÓ-uÒuÐuÐuð �9‰9”Q‹<×ÑœQÓ×$Ñ$¤QÓ'¨4¯9©9´q¼!¼Q°i°\À1Ó+EÀgÑ+NÒNÐNÐNØ�9‰9”Q‹<×ÑœQÓ×$Ñ$¤QÓ'¨4¯9©9´q¼!¼Q°i°\À1Ó+EÀgÑ+NÒNÐNÐNØ�9‰9”qœ!œQ�i�[¤A¤q¬! 9 ,Ó/´5ÔnoÔqrÔtuÐmv×9wÐhiÔZ[Ô]^Ô`aÐYbÖ:cÐTU¸4¿9¹9ÀQ»<×;LÑ;LÈQÕ;OÔ:cÓ9wÓ3xÒxÐxÐxô �&‰&”œ!œQ˜˜Ó!Ó
"€CÜ�cÔ/Ô0Ð0Ð0Ø”&˜1˜a˜&˜Ó"Ò"Ð"Ð"Üˆa‰4�+‰+”fœq¤!˜f˜XÓ&Ó
'€CÜ�cÔ/Ô0Ð0Ð0Ø”&˜1œQ ™T™6 1˜+˜Ó'Ò'Ð'Ñ'ùò ;dùÓ9ws   Ú;^:Û'^5Û:^:Þ5^:c            	      óà   ‡ — t        ddt        ft        ddfddt        dz  dz   ff«      Š t        t        ˆ fd„«        t        ‰ d«      t        «      t        dd	d
d
dt        z  ff«      k(  sJ ‚y )Nrj   rk   rh   rß   rl   c                  ó   •— ‰ j                   S rí   )Únonexistantattributer  s   €ru   r    ztest_getattr.<locals>.<lambda>ò
  s   ø€  1×#9Ñ#9€ rw   r+   rÆ   rÕ   r   )r   rP   rQ   r_   r‰  Úgetattrr  s   @ru   Útest_getattrr´  ð
  sl   ø€ Ü��A”q�	œA˜q !˜9 r¨1¬a°©d°Q©hÐ&7Ð8Ó9€AÜ
Œ>Ó9Ô:ØŒ7�1�fÓœaÓ ¤F¨I°yÀ1ÀaÈÌ1ÉÀ+Ð+NÓ$OÒOÐOÑOrw   c                  ó  — t        g d¢g d¢g d¢g«      } | j                  sJ ‚| j                  } | j                  sJ ‚d| d<   | j                  du sJ ‚t        g d¢g d¢g d¢g«      } | j                  rJ ‚t	        dd	«      } | j                  sJ ‚y )
Nr  r  r‘   rj   )r   rª   Fr   rl   rh   )r   r!  r-  r"  rI   r  s    ru   Útest_hessenbergr¶  ö
  s‘   € Ü’	š9¢iÐ0Ó1€AØ× Ò Ð Ð Ø	�‰€AØ× Ò Ð Ð Ø€A€e�HØ× Ñ  EÑ)Ð)Ð)ä’	š9¢iÐ0Ó1€AØ×$Ò$Ð$Ð$äˆa�‹€AØ× Ò Ð Ñ rw   c            	      ó@  — t        t        d„ «       t        t        d„ «       t        t        d„ «       t        t        d„ «       t        t        d„ «       t        dt        z   dfdf«      j                  d	¬
«      t        t        dt        z   «      dgddgg«      k(  sJ ‚t        d«      } | j                  d	¬
«      }|t        ddgddt        d«      z  t        z  gg«      k(  sJ ‚||j                  z  | k(  sJ ‚t        d«      } | j                  «       }||j                  z  | k(  sJ ‚|j                  sJ ‚|t        g d¢g d¢g d¢g«      k(  sJ ‚t        ddt        z  ddt        z  z   fdt        z  ddt        z   fddt        z  z
  dt        z
  dff«      } | j                  «       j                  «       t        dt        ddfdt        z
  ddff«      k(  sJ ‚t        t        d„ «       t        t        d„ «       t        t        d„ «       t        t        d„ «       t        t        d„ «       t        dt        z   dfdf«      j                  d	¬
«      t        t        dt        z   «      dgddgg«      k(  sJ ‚t        d«      } | j                  d	¬
«      }|t        ddgddt        d«      z  t        z  gg«      k(  sJ ‚||j                  z  | k(  sJ ‚t        d«      } | j                  «       }||j                  z  | k(  sJ ‚|j                  sJ ‚|t        g d¢g d¢g d¢g«      k(  sJ ‚t        ddt        z  ddt        z  z   fdt        z  ddt        z   fddt        z  z
  dt        z
  dff«      } | j                  «       t        dt        ddfdt        z
  ddff«      k(  sJ ‚y )Nc                  ó4   — t        d«      j                  «       S ©NrM  ©r   Úcholeskyr{   rw   ru   r    ztest_cholesky.<locals>.<lambda>  s   € ¬°«×)@Ñ)@Ó)B€ rw   c                  ó4   — t        d«      j                  «       S ©N©rM  )ri   rk   rº  r{   rw   ru   r    ztest_cholesky.<locals>.<lambda>  ó   € œvÐ&6Ó7×@Ñ@ÓB€ rw   c                  óJ   — t        dt        z   dfdf«      j                  «       S ©Nrl   r   r   )r   r   r»  r{   rw   ru   r    ztest_cholesky.<locals>.<lambda>  s!   € œv¨¬A©¨q z°6Ð&:Ó;×DÑDÓF€ rw   c                  ó4   — t        d«      j                  «       S ©N©rÊ  )rl   rj   rº  r{   rw   ru   r    ztest_cholesky.<locals>.<lambda>	  r¿  rw   c                  ó8   — t        d«      j                  d¬«      S ©Nr¾  F©Ú	hermitianrº  r{   rw   ru   r    ztest_cholesky.<locals>.<lambda>
  s   € œvÐ&6Ó7×@Ñ@È5Ð@ÓQ€ rw   rl   r   r   FrÇ  rj   rÄ  rh   rm   ))rë  r  r¤   )r  rZ  r   )r¤   r   rá   r  )ri   ri   r   )rª   rj   ri   rk   r«   rª   rá   rÝ  ri   c                  ó4   — t        d«      j                  «       S r¹  ©r#   r»  r{   rw   ru   r    ztest_cholesky.<locals>.<lambda>  s   € ¬°fÓ)=×)FÑ)FÓ)H€ rw   c                  ó4   — t        d«      j                  «       S r½  rÊ  r{   rw   ru   r    ztest_cholesky.<locals>.<lambda>  ó   € œ|Ð,<Ó=×FÑFÓH€ rw   c                  óJ   — t        dt        z   dfdf«      j                  «       S rÁ  )r#   r   r»  r{   rw   ru   r    ztest_cholesky.<locals>.<lambda>  s!   € œ|¨a´!©e°Q¨Z¸Ð,@ÓA×JÑJÓL€ rw   c                  ó4   — t        d«      j                  «       S rÃ  rÊ  r{   rw   ru   r    ztest_cholesky.<locals>.<lambda>  rÌ  rw   c                  ó8   — t        d«      j                  d¬«      S rÆ  rÊ  r{   rw   ru   r    ztest_cholesky.<locals>.<lambda>  s   € œ|Ð,<Ó=×FÑFÐQVÐFÓW€ rw   )r_   rW   r�  r   r   r»  rB   r-  r¿  r-   r#   r“  s     ru   Útest_choleskyrÐ    sk  € Ü
ÔÑ!BÔCÜ
Œ:ÑBÔCÜ
Œ:ÑFÔGÜ
Œ:ÑBÔCÜ
Œ:ÑQÔRÜ�Aœ‘E˜1�:˜vÐ&Ó'×0Ñ0¸5Ð0ÓAÄVÜ	ˆa”!‰e‹�aÐ˜1˜a˜&ðM"ó F#ò #ð #ð #äÐÓ €AØ	�
‰
˜Uˆ
Ó#€AØ”˜˜A˜  A¤d¨1£g¡I¬a¡KÐ 0Ð1Ó2Ò2Ð2Ð2ØˆQ�S‰S‰5�AŠ:Ðˆ:ÜÐ7Ó8€AØ	�
‰
‹€AØˆq�s‰s‰7�aŠ<Ðˆ<Ø�:Š:Ðˆ:Ø”š	¢9ªjÐ9Ó:Ò:Ð:Ð:Ü��B”q‘D˜!˜a¤™c™'Ð" Q¤q¡S¨!¨R´!©VÐ$4°q¸1¼Q¹3±wÀÄQÁÈÐ6KÐLÓM€AØ�:‰:‹<×ÑÓ ¤F¨I¼¸1¸a°yÀ1ÄqÁ5È!ÈQÀ-Ð+PÓ$QÒQÐQÐQä
ÔÑ!HÔIÜ
Œ:ÑHÔIÜ
Œ:ÑLÔMÜ
Œ:ÑHÔIÜ
Œ:ÑWÔXÜ˜!œa™% ˜ VÐ,Ó-×6Ñ6ÀÐ6ÓGÌ6Ü	ˆa”!‰e‹�aÐ˜1˜a˜&ðS"ó L#ò #ð #ð #äÐ%Ó&€AØ	�
‰
˜Uˆ
Ó#€AØ”˜˜A˜  A¤d¨1£g¡I¬a¡KÐ 0Ð1Ó2Ò2Ð2Ð2ØˆQ�S‰S‰5�AŠ:Ðˆ:ÜÐ=Ó>€AØ	�
‰
‹€AØˆq�s‰s‰7�aŠ<Ðˆ<Ø�:Š:Ðˆ:Ø”š	¢9ªjÐ9Ó:Ò:Ð:Ð:Ü�q˜"œQ™$  A¤a¡C¡Ð(¨1¬Q©3°°2¼±6Ð*:¸QÀÄ1Á¹WÀbÌ1ÁfÈbÐ<QÐRÓS€AØ�:‰:‹<œ6 9¬q°!°Q¨i¸!¼a¹%ÀÀA¸Ð"GÓHÒHÐHÑHrw   c            	      ó  — t        dd¬«      } t        t        | «      t        | «      g«      }t	        |j                  d«      «      dk(  sJ ‚|j                  d«      t        t        | «      dz  t        | «      dz  z   t        dd«      «      k(  sJ ‚t        dt        dd«      gg«      }|j                  «       t        d	t        d
d«      z   t        j                  «      k(  sJ ‚|j                  t        «      t        |«      k(  sJ ‚|j                  t         «      t        |«      k(  sJ ‚t        ddgddgg«      }|j                  d«      dk(  sJ ‚|j                  d«      dk(  sJ ‚|j                  d«      dk(  sJ ‚t        d«      j                  d«      t        d«      j                  d«      cxk(  rdk(  sJ ‚ J ‚|j                  t        «      dk(  sJ ‚t        dt        t        g| t        j                  t         gg«      }|j                  d«      t!        t        dd«      dt#        t        «      dz  z  z   t        dz  z   | dz  z   «      k(  sJ ‚t        g d¢ddt        dd«      gg«      }|j                  d«      t!        t        dd«      t!        d«      dz  z   «      k(  sJ ‚|j                  d«      t        j$                  u sJ ‚|j                  d«      t!        d«      dz  k(  sJ ‚t        ddgddgg«      }t        ddgddgg«      }t        dt&         gt&        dgg«      }t        ddgddgg«      }||||g}t        dd¬«      }dD ]È  }t)        d«      j                  |«      t        j$                  u sJ ‚|D ]H  }	|D ]A  }
|	j                  |«      |
j                  |«      z   |	|
z   j                  |«      z
  }|dk\  rŒAJ ‚ ŒJ ||||fD ]D  }t+        ||z  j                  |«      t#        |«      |j                  |«      z  z
  «      }|dk(  rŒDJ ‚ ŒÊ t        dddt&        z  z
  dg«      }t        t        j                  dt&        z  dg«      }t        g d¢«      }t        ddt&        g«      }t        t-        d«      t        dd«      dg«      }|||||g}t        dd¬«      }ddddt        j.                  t        j0                  t        fD �]  }|dkD  r.t        g d¢«      j                  |«      t        j$                  u sJ ‚|dk\  rf|D ]a  }	|D ]Z  }
|	j                  |«      |
j                  |«      z   |	|
z   j                  |«      z
  }t+        |dk\  «      t        j2                  u rŒZJ ‚ Œc |ddddt        j.                  t        j0                  fv sŒÉ|D ]D  }	t+        ||	z  j                  |«      t#        |«      |	j                  |«      z  z
  «      }|dk(  rŒDJ ‚ �Œ t        ddg d¢«      }|j                  d«      dk(  sJ ‚y )NrP   Tr&  rh   rj   rß   rl   ri   rë  r™   rk   r«   r   Ú	frobeniusÚfroé%   )rj   rh   ro  r  i…  r˜   iI3 rª   Úalpha)rÓ  rh   r«   ro  )rª   rª   rª   g      Y@rÕ   )	rj   ri   r   r«   rª   r   ri   r™   rm   )r$   r   r)   rA   rG   Únormr   r    r"   r‰   r6   rd  r?  r.   rQ   r7   rB   rJ  rŠ   r   rI   r@   r   ÚInfinityÚNegativeInfinityÚtrue)rP   r  r´   rµ   r¶   r·   r”  rÕ  ÚorderrÔ  rÕ  Údifr1  rK   rL   rM   rN   rŸ   s                     ru   Útest_matrix_normrÜ  -  s·  € ô 	ˆs˜Ô€AÜ”�A“œ˜A›ÐÓ €AÜ�A—F‘F˜1“IÓ !Ò#Ð#Ð#Ø�6‰6�"‹:œœS ›V R™Z¬#¨a«&°"©*Ñ4´h¸qÀ"³oÓFÒFÐFÐFô 	�”H˜Q “NÐ#Ð$Ó%€AØ�6‰6‹8”s˜2¤¨¨A£Ñ.´·±Ó7Ò7Ð7Ð7Ø�6‰6”"‹:œ˜Q›ÒÐÐØ�6‰6”2�#‹;œ#˜a›&Ò Ð Ð ô 	��A�˜˜A˜ÐÓ €AØ�6‰6�!‹9˜Š>Ðˆ>Ø�6‰6�"‹:˜Š?Ðˆ?Ø�6‰6�+Ó !Ò#Ð#Ð#Üˆr‹7�<‰<˜‹?œc "›gŸl™l¨2Ó.Ô3°!Ò3Ð3Ñ3Ð3Ð3Ø�6‰6”"‹:˜Š?Ðˆ?ô 	�”A”q�	˜AœqŸv™v¬ sÐ+Ð,Ó-€AØ�F‰F�5‹MÜ”8˜B “? Q¤s¬1£v¨q¡y¡[Ñ0´2°q±5Ñ8¸1¸a¹4Ñ?Ó@òAð Bð Aô 	’
˜Q ¤8¨B°£?Ð3Ð4Ó5€AØ�6‰6�!‹9œœX c¨1Ó-´°U³¸A±Ñ=Ó>Ò>Ð>Ð>Ø�6‰6�"‹:œŸ™ÑÐÐØ�6‰6�+Ó¤$ s£)¨A¡+Ò-Ð-Ð-ô
 	��A�˜˜A˜ÐÓ €AÜ��A�˜˜Q˜Ð Ó!€AÜ�”Q�B�œ!˜Q˜Ð Ó!€AÜ��A�˜˜B˜Ð Ó!€AØ	
ˆAˆq�!ˆ€AÜ�7 Ô&€Eàò ˆä�Q‹x�}‰}˜UÓ#¤q§v¡vÑ-Ð-Ð-àò 	"ˆAØò "�Ø—v‘v˜e“} q§v¡v¨e£}Ñ4Ø˜‘U—L‘L Ó'ñ(�à˜q›Ð!˜ñ"ð	"ð �Q˜˜1�ò 	ˆAÜ˜E !™GŸ>™>¨%Ó0Ü˜“J §¡¨£Ñ.ñ/ó 0ˆCà˜!“8ˆO�8ñ	ðô$ 	��1�qœ‘s‘7˜BÐÓ €AÜ”—‘˜œ!™˜QÐÓ €AÜŠ|Ó€AÜ��1”aˆyÓ€AÜ”˜“œh q¨#Ó.°Ð2Ó3€AØ	
ˆAˆq�!�Qˆ€AÜ�7 Ô&€Eà�Q˜˜B¤§
¡
¬A×,>Ñ,>ÄÐCó  ˆà�1Š9Üš)Ó$×)Ñ)¨%Ó0´A·F±FÑ:Ð:Ð:à�AŠ:Øò 8�Øò 8�AØŸ6™6 %›=¨1¯6©6°%«=Ñ8Ø˜Q™Ÿ™ UÓ+ñ,�Cä# C¨1¡HÓ-´·±Ò7Ð7Ð7ñ8ð8ð �Q˜˜2˜r¤1§:¡:¬q×/AÑ/AÐBÒBØò  �Ü  a¡Ÿ~™~¨eÓ4Ü˜“Z !§&¡&¨£-Ñ/ñ 1ó 2�à˜a“x��xò ð ô& 	ˆq�!Ò2Ó3€AØ�6‰6�!‹9˜Š?Ð‰?rw   c                  ó¢  ‡‡— t        dd¬«      Št        d«      } d| d<   t        dd«      | d<   | j                  «       d	k(  sJ ‚‰| d
<   | j                  «       t	        dt        ‰«      «      t        t        dd«      t        ‰«      «      z  k(  sJ ‚t        t        ‰«      t        ‰«      gt        ‰«       t        ‰«      gg«      }|j                  «       Št        ˆˆfd„t        dd«      t        j                  t        dd«      t        dz  t        t        t        dd«      z  fD «       «      sJ ‚t        g «      j                  «       dk(  sJ ‚y )NrP   Tr&  ri   rß   r~   rj   ©rh   rh   rd  rn   c              3   óŽ   •K  — | ]<  }t        d «      j                  ‰j                  ‰|«      j                  «       «      –— Œ> y­w)rZ  N)r   Ú
epsilon_eqru  r;  )r=  ÚvalÚMcrP   s     €€ru   r>  z(test_condition_number.<locals>.<genexpr>–  s9   øè ø€ ò QÀŒu�R‹y×#Ñ# B§G¡G¨A¨s£O×$9Ñ$9Ó$;×<ñ Qùs   ƒAArl   rh   r—   rk   r   )r$   r.   r    Úcondition_numberr   r   r   r   r)   rA   rF  r"   r‰   r7   )r´   r1  râ  rP   s     @@ru   Útest_condition_numberrä  Š  s-  ù€ Üˆs˜Ô€AÜˆA‹€AØ€A€d�GÜ�q˜"‹o€A€d�GØ×ÑÓ 3Ò&Ð&Ð&à€A€d�GØ×ÑÓ¤3 r¬3¨q«6£?´S¼À!ÀR»Ì#ÈaË&Ó5QÑ#QÒQÐQÐQä”�Q“œ˜Q›Ð ¤C¨£F 7¬C°«FÐ"3Ð4Ó5€AØ	
×	Ñ	Ó	€BÜô QÜ	�!�Q‹œŸ™¤¨!¨R£´"°Q±$¼¼B¼xÈÈ1»~Ñ<MÐOôQô Qð Qð Qô �"‹:×&Ñ&Ó(¨AÒ-Ð-Ñ-rw   c                  óð   — t        d«      } t        d«      }| | d d …d d …f   k(  sJ ‚| | d d …d d …f   k7  rJ ‚| |k(  rJ ‚| |k7  sJ ‚| dk7  sJ ‚| dk(  rJ ‚t        d«      }t        d«      }||k(  sJ ‚||k7  rJ ‚y )N)rp   ro   r¬   ))r™   r˜   r—   )rm   rl   rk   )ri   rh   rj   rß   )rÄ   rÅ   rÆ   )r   r#   )r´   rµ   r¶   r·   s       ru   Útest_equalityræ  �  s    € ÜÐ0Ó1€AÜÐ0Ó1€AØ�’!’Q�$‘Š<Ðˆ<Ø�A’aš�d‘GŠ|ÐÐØ�AŠvÐˆ:Ø�Š6€Mˆ6Ø�Š7€Nˆ7Ø�BŠwÐˆ;ô 	Ð6Ó7€AÜÐ0Ó1€AØ�Š6€Mˆ6Ø�AŠvÐˆ:ˆvrw   c                  ó8  — t        ddg«      j                  «       t        t        dd«      t        dd«      g«      k(  sJ ‚t        g d¢«      j                  «       t        g d¢«      k(  sJ ‚t        g d¢«      } | j                  d„ ¬«      t        g d¢«      k(  sJ ‚y )Nri   rk   rl   rÕ   )r   r   g0Žä.ÿ++c                 ó>   —  | j                   dd¬«      j                  S )Nrß   T)rE  Úchop)r;  Úis_zerort   s    ru   r    z!test_normalized.<locals>.<lambda>¸  s   € ˜˜Ÿ™ 2¨DÔ1×9Ñ9€ rw   r‘  )r   r~  r    r½   s    ru   Útest_normalizedrë  ®  s˜   € Ü�1�a�&‹>×$Ñ$Ó&Ü”˜˜A“¤¨¨A£Ð/Ó0ò1ð 1ð 1ô ’)Ó×'Ñ'Ó)¬V²IÓ->Ò>Ð>Ð>ô 	Š}Ó€AØ�<‰<Ù9ð ó ä	’	Ó	òð ñ rw   c                  óH   — t        d„ «      dk(  sJ ‚t        d„ «      dk(  sJ ‚y )Nc                  ó4   — t        d«      j                  «       S rÛ   ©r.   Úprint_nonzeror{   rw   ru   r    z$test_print_nonzero.<locals>.<lambda>½  s   € œ3˜q›6×/Ñ/Ó1€ rw   z[X  ]
[ X ]
[  X]
c                  ó6   — t        d«      j                  d«      S )Nri   rc  rî  r{   rw   ru   r    z$test_print_nonzero.<locals>.<lambda>¿  s   € œ3˜q›6×/Ñ/°Ó4€ rw   z[.  ]
[ . ]
[  .]
)rd   r{   rw   ru   Útest_print_nonzerorñ  ¼  s8   € ÜÑ1Ó2Øò ð  ð  äÑ4Ó5Øò ð  ñ  rw   c                  ó  — t        j                  d«      t        d«      k(  sJ ‚t        j                  d«      t        d«      k(  sJ ‚t        dd«      t        dddgdz  «      k(  sJ ‚t        ddgddgg«      } t        ddgddgg«      }t        D ]v  }|j                  d«      }| |k(  sJ ‚| t        d|¬«      k(  sJ ‚t        |«      |k(  sJ ‚|j                  d«      }||k(  sJ ‚|t        d|¬«      k(  sJ ‚t        |«      |k(  rŒvJ ‚ y )Nri   rk   rj   rx  r   rh   rJ  )r   r.   rI   r5   r;  r»  )rÑ   rR   rK  rŽ   s       ru   Útest_zeros_eyeró  Ã  s  € Ü�:‰:�a‹=œC ›FÒ"Ð"Ð"Ü�<‰<˜‹?œe A›hÒ&Ð&Ð&Ü��1‹:œ  1 q c¨"¡fÓ-Ò-Ð-Ð-ä��A�˜˜A˜ÐÓ €AÜ��A�˜˜A˜ÐÓ €AÜò ˆØ�G‰G�A‹JˆØ�AŠvˆˆvØ”C˜˜s”OÒ#Ð#Ð#Ü�A‹w˜#Š~Ðˆ~Ø�I‰I�a‹LˆØ�AŠvˆˆvØ”E˜! Ô%Ò%Ð%Ð%Ü�A‹w˜#‹~Ðˆ~ñrw   c                  óŠ  — t        «       j                  sJ ‚t        ddgddgg«      j                  sJ ‚t        dd«      j                  sJ ‚t        d«      j                  rJ ‚t        t        dgddgg«      j                  d k(  sJ ‚t        t        dgddgg«      j                  d k(  sJ ‚t        t        dgddgg«      j                  d k(  sJ ‚t        t        dgddgg«      j                  d k(  sJ ‚t        t        dgddgg«      j                  dk(  sJ ‚t        dd¬«      } t        | dgddgg«      j                  dk(  sJ ‚y )	Nr   ri   rk   rj   FrK   T)Únonzero)	r   Úis_zero_matrixrI   r.   rP   r#   r   r   r$   r  s    ru   Útest_is_zeror÷  Õ  sL  € Ü‹8×"Ò"Ð"Ð"Ü�A�q�6˜A˜q˜6Ð"Ó#×2Ò2Ð2Ð2Ü��A‹;×%Ò%Ð%Ð%Ü�1‹v×$Ò$Ð$Ð$Ü”A�q�6˜A˜q˜6Ð"Ó#×2Ñ2°dÒ:Ð:Ð:Üœ!˜Q˜ ! Q Ð(Ó)×8Ñ8¸DÒ@Ð@Ð@ÜœQ ˜F Q¨ FÐ+Ó,×;Ñ;¸tÒCÐCÐCÜ ¤1 a &¨1¨a¨&Ð!1Ó2×AÑAÀTÒIÐIÐIÜ”A�q�6˜A˜q˜6Ð"Ó#×2Ñ2°eÒ;Ð;Ð;Üˆs˜DÔ!€AÜ�A�q�6˜A˜q˜6Ð"Ó#×2Ñ2°eÒ;Ð;Ñ;rw   c                  óJ  — t         dz  } t        | «      }t        |  «      }t        | «      }t        |  «      }t        | «      }t        |  «      }||z  t	        d«      z  t	        d«      k(  sJ ‚||z  t	        d«      z  t	        d«      k(  sJ ‚||z  t	        d«      z  t	        d«      k(  sJ ‚|j                  «       ddt        | «      z  z   k(  sJ ‚|j                  «       ddt        | «      z  z   k(  sJ ‚|j                  «       ddt        | «      z  z   k(  sJ ‚t        d«      t	        d«      k(  sJ ‚t        d«      t	        d«      k(  sJ ‚t        d«      t	        d«      k(  sJ ‚t        j                  g d¢t         dz  «      }t        j                  g d¢t         dz  «      }t        j                  g d¢t         dz  «      }	t        t          dz  «      |j                  «       k(  sJ ‚t        t          dz  «      |j                  «       k(  sJ ‚t        t          dz  «      |	j                  «       k(  sJ ‚t        t         ­dz  «      |j                  «       k(  sJ ‚t        t         ­dz  «      |j                  «       k(  sJ ‚t        t         ­dz  «      |	j                  «       k(  sJ ‚y )Nri   rj   rh   r   rÄ   rÅ   rÆ   )r7   r;   r:   r9   r.   r�  r)   r   Úfrom_axis_angleÚto_rotation_matrixr<   r=   r>   )
ÚthetaÚr3_plusÚr3_minusÚr2_plusÚr2_minusÚr1_plusÚr1_minusÚq1Úq2Úq3s
             ru   Útest_rotation_matricesr  ã  sf  € äˆq‰D€EÜ˜Ó€GÜ˜%˜Ó €HÜ˜Ó€GÜ˜%˜Ó €HÜ˜Ó€GÜ˜%˜Ó €HØ�GÑœC ›FÑ"¤c¨!£fÒ,Ð,Ð,Ø�GÑœC ›FÑ"¤c¨!£fÒ,Ð,Ð,Ø�GÑœC ›FÑ"¤c¨!£fÒ,Ð,Ð,ð �=‰=‹?˜a !¤C¨£J¡,Ñ.Ò.Ð.Ð.Ø�=‰=‹?˜a !¤C¨£J¡,Ñ.Ò.Ð.Ð.Ø�=‰=‹?˜a !¤C¨£J¡,Ñ.Ò.Ð.Ð.ô �Q‹<œ3˜q›6Ò!Ð!Ð!Ü�Q‹<œ3˜q›6Ò!Ð!Ð!Ü�Q‹<œ3˜q›6Ò!Ð!Ð!ô 
×	#Ñ	#¢I¬r°A©vÓ	6€BÜ	×	#Ñ	#¢I¬r°A©vÓ	6€BÜ	×	#Ñ	#¢I¬r°A©vÓ	6€BÜ”r�T˜A‘XÓ "×"7Ñ"7Ó"9Ò9Ð9Ð9Ü”r�T˜A‘XÓ "×"7Ñ"7Ó"9Ò9Ð9Ð9Ü”r�T˜A‘XÓ "×"7Ñ"7Ó"9Ò9Ð9Ð9äœ2˜ ™Ó" b×&;Ñ&;Ó&=Ò=Ð=Ð=Üœ2˜ ™Ó" b×&;Ñ&;Ó&=Ò=Ð=Ð=Üœ2˜ ™Ó" b×&;Ñ&;Ó&=Ò=Ð=Ñ=rw   c                  ó  — t        t        d«      d   «      dk(  sJ ‚t        t        d«      «      t        d«      k(  sJ ‚t        t        d„ «       t        t        d«      «      dk(  sJ ‚t        t        d«      «      dk(  sJ ‚y )NÚvectorrk   z	vector[4]rN   c                  ó   — t        d«      d   S )NrN   rª   )r   r{   rw   ru   r    z%test_DeferredVector.<locals>.<lambda>  s   € œ~¨cÓ2°2Ñ6€ rw   ÚtestzDeferredVector('test'))Ústrr   rE   r_   r­   Úreprr{   rw   ru   Útest_DeferredVectorr    sx   € ÜŒ~˜hÓ'¨Ñ*Ó+¨{Ò:Ð:Ð:Ü”> #Ó&Ó'¬>¸#Ó+>Ò>Ð>Ð>Ü
Œ:Ñ6Ô7ÜŒ~˜cÓ"Ó# sÒ*Ð*Ð*Ü”˜vÓ&Ó'Ð+CÒCÐCÑCrw   c                  ó0   — t        t        d«      «      rJ ‚y )NrÔ  )re   r   r{   rw   ru   Ú test_DeferredVector_not_iterabler    s   € Üœ sÓ+Ô,Ð,Ð,Ð,rw   c                  ó&   — t        t        d„ «       y )Nc                  ó*   — t        t        d«      «      S )Nrž  )r   r   r{   rw   ru   r    z,test_DeferredVector_Matrix.<locals>.<lambda>  s   € œf¤^°CÓ%8Ó9€ rw   ©r_   rh  r{   rw   ru   Útest_DeferredVector_Matrixr    s   € Ü
Œ9Ñ9Õ:rw   c            
      óÆ  — t         } t        ddddg«      }t        ddddg«      }t        ||g«      t        ddddg«      t        dd | d«      dz   | d«      dz  g«      gk(  sJ ‚t        |j                  |j                  g«      t        ddddg«      t        dd | d«      dz   | d«      dz  g«      gk(  sJ ‚t        t        ddg«      t        ddg«      gd«      t        dt	        d«      z  dz  t	        d«      dz  g«      t        t	        d«       dz  dt	        d«      z  dz  g«      gk(  sJ ‚t        t        dg«      «      }t        |«      t        dgg«      gk(  sJ ‚y )Nrj   rh   ri   rl   rª   Trß   )r    r   r   r-  rB   r
   )rŒ  r‚   rƒ   r”  s       ru   Útest_GramSchmidtr    s}  € Ü€AÜ	��1�q˜!�fÓ	€BÜ	��1�q˜!�fÓ	€BÜ˜˜B�xÓ Ü	��1�q˜!�fÓ	œv a¨©Q¨q«T°!©V±Q°r³U¸1±WÐ,=Ó>Ð?ò@ð @ð @ä˜Ÿ™˜bŸd™d�|Ó$Ü	��1�q˜!�fÓ	œv a¨©Q¨q«T°!©V±Q°r³U¸1±WÐ,=Ó>Ð?ò@ð @ð @ô œ  1˜v›¬°°1¨v«Ð7¸Ó>Ü�”$�r“(‘
˜2‘œt B›x¨™{Ð+Ó,Ü”�b“�	˜"‘˜a¤ R£™j¨™mÐ,Ó-ðC/ò /ð /ð /ô 	”&˜!˜“+Ó€AÜ�q‹>œf q c U›m˜_Ò,Ð,Ñ,rw   c                  óT   — t        g d¢d«      dk(  sJ ‚t        g d¢dd¬«      dk(  sJ ‚y )Nr  rj   r   F)Úzero)r(   r{   rw   ru   Útest_casoratianr  )  s.   € Ü’l AÓ&¨!Ò+Ð+Ð+Ü’l A¨EÔ2°aÒ7Ð7Ñ7rw   c                  óì   — t        «       t        dd«      z  j                  dk(  sJ ‚t        dd«      t        dd«      z  t        dd«      k(  sJ ‚t        dd«      t        dd«      z  t        «       k(  sJ ‚y )Nr   ri   )r   ri   )r   rI   r¯  r{   rw   ru   Útest_zero_dimension_multiplyr  .  si   € Ü‹H”U˜1˜a“[Ñ ×'Ñ'¨6Ò1Ð1Ð1Ü��A‹;”u˜Q “{Ñ"¤e¨A¨q£kÒ1Ð1Ð1Ü��A‹;”u˜Q “{Ñ"¤f£hÒ.Ð.Ñ.rw   c                  óv  ‡ — t        ddt        d«      «      Š ‰ dd d …f   t        ddgg«      k(  sJ ‚‰ dd d …f   t        ddgg«      k(  sJ ‚‰ d d …df   t        ddgg«      j                  k(  sJ ‚‰ d d …df   t        ddgg«      j                  k(  sJ ‚t        t        ˆ fd„«       t        t        ˆ fd„«       y )Nrh   rk   rj   ri   rª   c                  ó   •— ‰ dd d …f   S rß  r{   r½   s   €ru   r    z'test_slice_issue_2884.<locals>.<lambda>:  s   ø€ ˜q ¢A ™w€ rw   c                  ó   •— ‰ d   S )NrÞ  r{   r½   s   €ru   r    z'test_slice_issue_2884.<locals>.<lambda>;  s   ø€ ˜q ™w€ rw   )r   rÌ   r-  r_   r­   r½   s   @ru   Útest_slice_issue_2884r  4  s¹   ø€ Üˆq�!”U˜1“XÓ€AØˆQ’ˆT‰7”f˜q !˜f˜XÓ&Ò&Ð&Ð&ØˆR’ˆU‰8”v  1˜v˜hÓ'Ò'Ð'Ð'ØŠQ�ˆT‰7”f˜q !˜f˜XÓ&×(Ñ(Ò(Ð(Ð(ØŠQ�ˆU‰8”v  1˜v˜hÓ'×)Ñ)Ò)Ð)Ð)Ü
Œ:“Ô'Ü
Œ:“Õ'rw   c                  óŽ   — t        dd«      d d …df   j                  dk(  sJ ‚t        dd«      dd d …f   t        ddg «      k(  sJ ‚y )Nr   ri   rª   r   rj   )rI   r¯  r   r{   rw   ru   Útest_slice_issue_3401r  >  sK   € Ü��A‹;’q˜"�uÑ×#Ñ# vÒ-Ð-Ð-Ü��A‹;�qš!�tÑ¤ q¨!¨RÓ 0Ò0Ð0Ñ0rw   c                  ó¢  — t        dd«      } d| d<   | d d …df   t        g d¢«      k(  sJ ‚| d   dk(  sJ ‚| dd dgk(  sJ ‚d| d<   | d   dk(  sJ ‚| ddd …f   t        ddgg«      k(  sJ ‚t        dd	gg«      | ddd …f<   | dd d …f   t        g d
¢g«      k(  sJ ‚ddgg| ddd …f<   | dd d …f   t        g d¢g«      k(  sJ ‚d| d<   | d d …d d…f   t        g d¢«      k(  sJ ‚g d¢| d<   | d d …df   t        g d¢«      k(  sJ ‚t        g d¢«      | d<   | d d …df   t        g d¢«      k(  sJ ‚t        g d¢«      | d<   | d d …df   t        g d¢«      k(  sJ ‚y )Nri   rj   r   rÅ   rk   r”  rn   rl   rm   )rj   rl   rm   é+   )rj   r”  r!  é   r~   )r"  rj   r   r¾  )rI   r   r#   )rÒ  s    ru   Útest_copyinr#  C  s˜  € Üˆa�‹€AØ€A€a�DØŠQ�ˆT‰7”fšYÓ'Ò'Ð'Ð'ØˆQ‰4�1Š9Ðˆ9ØˆQ�ˆ7�q�cŠ>Ðˆ>Ø€A€d�GØˆT‰7�bŠ=Ðˆ=ØˆQ�‘ˆU‰8”v  A˜w˜iÓ(Ò(Ð(Ð(Ü˜˜1�v�hÓ€A€aˆ‰€e�HØˆQ’ˆT‰7”fši˜[Ó)Ò)Ð)Ð)Ø�R�ˆz€A€aˆ‰€e�HØˆQ’ˆT‰7”fšk˜]Ó+Ò+Ð+Ð+Ø€A€d�GØŠQ���ˆU‰8”všjÓ)Ò)Ð)Ð)Ú€A€d�GØŠQ�ˆT‰7”fšYÓ'Ò'Ð'Ð'Ü’YÓ€A€d�GØŠQ�ˆT‰7”fšYÓ'Ò'Ð'Ð'Üš9Ó%€A€d�GØŠQ�ˆT‰7”fšYÓ'Ò'Ð'Ñ'rw   c                  ó&  ‡ — t        ddgddgg«      j                  «       t        ddgddgg«      dfk(  sJ ‚t        t        d„ «       t        g d¢t        ddgdt        dgg«      Š t        ‰ j                  «       d   «      ‰ j                  k7  sJ ‚‰ j                  «       d   t        d«      k7  sJ ‚‰ j                  t        ¬	«      d   t        d«      k7  sJ ‚t        t        ˆ fd
„«       t        t        ˆ fd„«       t        t        ˆ fd„«       y )Nrj   rh   r   )r   c                  ó@   — t        ddgddgg«      j                  «       S r  rd  r{   rw   ru   r    z'test_invertible_check.<locals>.<lambda>^  s!   € œv¨¨1 v°°1¨vÐ&6Ó7×;Ñ;Ó=€ rw   )rª   rª   r   rª   ri   r  c                  ó(   •— ‰ j                  d¬«      S )Nrð  rg  ©r•  r½   s   €ru   r    z'test_invertible_check.<locals>.<lambda>i  s   ø€ ˜qŸu™u¨E˜uÓ2€ rw   c                  ó(   •— ‰ j                  d¬«      S )Nræ  rg  r'  r½   s   €ru   r    z'test_invertible_check.<locals>.<lambda>j  ó   ø€ ˜qŸu™u¨D˜uÓ1€ rw   c                  ó(   •— ‰ j                  d¬«      S )Nrí  rg  r'  r½   s   €ru   r    z'test_invertible_check.<locals>.<lambda>k  r)  rw   )	r   r»  r_   r�  rP   rV  rq   r.   r?   r½   s   @ru   Útest_invertible_checkr+  Z  sø   ø€ ô �A�q�6˜A˜q˜6Ð"Ó#×(Ñ(Ó*¬v¸¸1°vÀÀ1¸vÐ6FÓ/GÈÐ.NÒNÐNÐNÜ
Œ:Ñ=Ô>ÜÚÜ
ˆa�!ˆØ
Œa�ˆðó 	€Aô
 ˆq�v‰v‹x˜‰{Ó˜qŸv™vÒ%Ð%Ð%ð �6‰6‹8�A‰;œ#˜a›&Ò Ð Ð Ø�6‰6œ8ˆ6Ó$ QÑ'¬3¨q«6Ò1Ð1Ð1Ü
Œ:Ó2Ô3Ü
Œ:Ó1Ô2Ü
Œ:Ó1Õ2rw   c                  óŠ   — t        d«      \  } }| |z  }|j                  | t        g d¢«      «      t        g d¢«      |z  k(  sJ ‚y )Nzx, y)ri   rl   ri   )rD   ru  r   )rP   rQ   rŸ   s      ru   Útest_issue_3959r-  n  s@   € Ü�6‹?�D€A€qØ	ˆ!‰€AØ�6‰6�!”VšIÓ&Ó'¬6²)Ó+<¸QÑ+>Ò>Ð>Ñ>rw   c                  óB   — t        t        ddgddgg«      «      dk(  sJ ‚y )Nrj   rh   ri   rk   zMatrix([[1, 2], [3, 4]]))r
  r   r{   rw   ru   Útest_issue_5964r/  t  s(   € ÜŒv˜˜1�v  1˜vÐ&Ó'Ó(Ð,FÒFÐFÑFrw   c                  óp   — t        d«      \  } }t        t        | d|z  g|dz  | dz   gg«      «      dk(  sJ ‚y )Nrþ  rh   ri   z'Matrix([
[   x,   2*y],
[y**2, x + 3]]))rD   rC   r   r  s     ru   Útest_issue_7604r1  x  sG   € Ü�5‹>�D€A€qÜ”˜˜A˜a™C˜ 1 a¡4¨¨Q© -Ð0Ó1Ó2Ø3ò4ð 4ñ 4rw   c            
      ó   — t        d«      j                  sJ ‚t        d«      j                  «       j                  sJ ‚t        d«      j                  rJ ‚t	        d«      j                  rJ ‚t        g d¢g«      j                  rJ ‚t        ddddddœ«      j                  sJ ‚t        ddt        d«      «      j                  rJ ‚t        dddddœ«      j                  rJ ‚t        ddddddddœ«      j                  rJ ‚y )	Nri   rÄ   rj   )r~   rn   rÞ  rh   rm   )r~   rn   )r~   rn   rÞ  r   r�  )r.   Úis_Identityr  rI   r5   r   r#   rÌ   r{   rw   ru   Útest_is_Identityr4  ~  së   € Üˆq‹6×ÒÐÐÜˆq‹6×ÑÓ ×,Ò,Ð,Ð,Ü�Q‹x×#Ò#Ð#Ð#Ü�A‹w×"Ò"Ð"Ð"ä’y�kÓ"×.Ò.Ð.Ð.ä˜˜! A¨Q°aÑ8Ó9×EÒEÐEÐEÜ˜A˜a¤ q£Ó*×6Ò6Ð6Ð6Ü˜A˜a¨°Ñ!3Ó4×@Ò@Ð@Ð@Ü˜A˜a¨°¸!À1ÈAÑ!NÓO×[Ò[Ð[Ð[Ð[rw   c                  ó’  — t        dd«      j                  t        dd«      «      dk(  sJ ‚t        dd«      j                  g d¢«      dk(  sJ ‚t        g d¢«      j                  t        g d¢«      «      dk(  sJ ‚t        dddt        z  g«      j                  t        t        ddt        z  g«      «      dt        z   k(  sJ ‚t        dddt        z  g«      j                  t        t        ddt        z  g«      d¬	«      dt        z   k(  sJ ‚t        dddt        z  g«      j                  t        t        ddt        z  g«      d
¬	«      dt        z   k(  sJ ‚t        dddt        z  g«      j                  t        t        ddt        z  g«      d
d¬«      dt        z
  k(  sJ ‚t        dddt        z  g«      j                  t        ddt        z  dg«      d
d¬«      ddt        z  z   k(  sJ ‚t        dddt        z  g«      j                  t        ddt        z  dg«      d
d¬«      ddt        z  z
  k(  sJ ‚t        t        dt        z  g«      j                  t        t        dt        z  g«      dd¬«      dk(  sJ ‚t        t        dt        z  g«      j                  t        t        dt        z  g«      d¬«      dk(  sJ ‚t	        t
        d„ «       y )Nrj   ri   r¾  rp   r  rh   r¤   FrÇ  Tr  Úphysics©rÈ  Úconjugate_conventionrk   rl   rm   Úrightr˜   Úleft)r8  c                  óV   — t        ddg«      j                  t        ddg«      dd¬«      S )Nrj   rh   ri   rk   Tr	  r7  rv  r{   rw   ru   r    ztest_dot.<locals>.<lambda>˜  s)   € œv q¨! f›~×1Ñ1´&¸!¸Q¸³.ÈDÐgmÐ1Ón€ rw   )r5   rw  r   r   r_   r�  r{   rw   ru   Útest_dotr<  Œ  s€  € Ü��1‹:�>‰>œ$˜q !›*Ó%¨Ò*Ð*Ð*Ü��1‹:�>‰>š)Ó$¨Ò)Ð)Ð)Ü’)Ó× Ñ ¤ª	Ó!2Ó3°rÒ9Ð9Ð9Ü�1�a˜œ1™�+Ó×"Ñ"¤6¬1¨a°´1±¨+Ó#6Ó7¸2Ä¹6ÒAÐAÐAÜ�1�a˜œ1™�+Ó×"Ñ"¤6¬1¨a°´1±¨+Ó#6À%Ð"ÓHÈBÔQRÉFÒRÐRÐRÜ�1�a˜œ1™�+Ó×"Ñ"¤6¬1¨a°´1±¨+Ó#6À$Ð"ÓGÈ2ÔPQÉ6ÒQÐQÐQÜ�1�a˜œ1™�+Ó×"Ñ"¤6¬1¨a°´1±¨+Ó#6À$Ð]fÐ"ÓgÐkmÔpqÑkqÒqÐqÐqÜ�1�a˜œ1™�+Ó×"Ñ"¤6¨1¨a´©c°1¨+Ó#6À$Ð]dÐ"ÓeÐijÐmnÔopÑmpÑipÒpÐpÐpÜ�1�a˜œ1™�+Ó×"Ñ"¤6¨1¨a´©c°1¨+Ó#6À$Ð]cÐ"ÓdÐhiÐlmÔnoÑloÑhoÒoÐoÐoÜ”1�aœ‘c�(Ó×Ñ¤¬¨1¬Q©3 xÓ 0¸EÐX^ÐÓ_ÐceÒeÐeÐeÜ”1�aœ‘c�(Ó×Ñ¤¬¨1¬Q©3 xÓ 0ÀvÐÓNÐRSÒSÐSÐSÜ
Œ:ÑnÕorw   c            	      óÈ  — t        dd¬«      \  } }}}}}t        d|||f| d|| f| | d| f| ||  dff«      }t        d|  | | f| d|| f|| d|f||| dff«      }|j                  «       j                  |«      sJ ‚t	        d«      j                  «       j                  t        d«      «      sJ ‚|j                  «       j                  «       j                  | «      sJ ‚y )NzB_x B_y B_z E_x E_y E_zTr&  r   ri   )rD   r   ÚdualÚequalsr.   rI   )ÚB_xÚB_yÚB_zÚE_xÚE_yÚE_zrR  ÚFds           ru   Ú	test_dualrG  ›  s  € Ü#*Ø!¨ô$.Ñ €Cˆˆc�3˜˜SäØ��c˜CÐ Ø
ˆ�!�c˜C˜4Ð Ø
ˆ�ˆt˜˜CÐ Ø
ˆ��c�T˜aÐ ð	ó 	€Aô 
Øˆsˆd�S�D˜3˜$ÐØ	��S˜3˜$ÐØ	ˆsˆd�q˜3ÐØ	ˆs�S�D˜QÐð	ó 
€Bð �6‰6‹8�?‰?˜2ÔÐÐÜˆq‹6�;‰;‹=×Ñ¤ a£Ô)Ð)Ð)Ø�6‰6‹8�=‰=‹?×!Ñ! 1 "Ô%Ð%Ñ%rw   c                  ó,  — t        ddg«      j                  «       du sJ ‚t        dddt        dz  dt        z  z   dz   t        t        dz   dz   dt        t        z  t         t         t        z  dg	«      } | j                  «       du sJ ‚| j                  d¬«      �J ‚| j                  d„ ¬«      �J ‚| d	    | d	<   | j                  «       �J ‚| d	    | d	<   | j	                  «       } | j                  d¬«      du sJ ‚d| d
<   | j                  «       du sJ ‚y )Nrj   rh   Fri   r   Tr  c                 ó   — | S rí   r{   rt   s    ru   r    z%test_anti_symmetric.<locals>.<lambda>´  r  rw   rl  r~   )r   r  rP   rQ   r-   r½   s    ru   Útest_anti_symmetricrJ  ¯  s/  € Ü�1�a�&‹>×+Ñ+Ó-°Ñ6Ð6Ð6Üˆq�!�aœ˜A™ ¤!¡™ a™¬¬a°!©e°a©Z¨K¸¼A¼a¹CÄ!ÀÄaÀRÌÁTÈ1ÐMÓN€AØ×ÑÓ  DÑ(Ð(Ð(Ø×Ñ¨ÐÓ.Ð6Ð6Ð6Ø×Ñ©ÐÓ4Ð<Ð<Ð<ð �‰wˆh€A€d�GØ×ÑÓ Ð(Ð(Ð(à�‰wˆh€A€d�Gà	�‰‹
€AØ×Ñ¨ÐÓ.°$Ñ6Ð6Ð6Ø€A€d�GØ×ÑÓ  EÑ)Ð)Ñ)rw   c                  óš  — t        d«      } | j                  d¬«      \  }}||j                  z  |j                  |z  cxk(  rt        |j                  «      k(  sJ ‚ J ‚| j                  dd¬«      \  }}||j                  z  |j                  |z  cxk(  rt        |j                  «      k(  sJ ‚ J ‚||z  |j                  «       z  | k(  sJ ‚y )N)rM  rl  Trç  )rè  Úsort)r   râ  r-  r.   rr   r•  )r´   r—  r   s      ru   Ú#test_normalize_sort_diogonalizationrM  Â  sµ   € ÜÐÓ €AØ�=‰= 4ˆ=Ó(�D€A€qØˆQ�S‰S‰5�A—C‘C˜‘EÔ(œS §¡›[Ò(Ð(Ñ(Ð(Ð(Ø�=‰= 4¨dˆ=Ó3�D€A€qØˆQ�S‰S‰5�A—C‘C˜‘EÔ(œS §¡›[Ò(Ð(Ñ(Ð(Ð(ØˆQ‰3ˆq�u‰u‹w‰;˜!ÒÐÑrw   c                  ó&   — t        t        d„ «       y )Nc                  ó6   — t        g d¢t        ddg «      g«      S )Nrp   r   rj   r³  r{   rw   ru   r    z!test_issue_5321.<locals>.<lambda>Ì  s   € œv¢y´&¸¸A¸rÓ2BÐ&CÓD€ rw   )r_   r�  r{   rw   ru   Útest_issue_5321rP  Ë  s   € Ü
Œ:ÑDÕErw   c            	      ó¦  — t        j                  t        d«      dt        d«      z  «      t        g d¢g d¢g«      k(  sJ ‚t        j                  t        d«      dt        d«      z  «      t        ddgddgddgddgg«      k(  sJ ‚t        } | j                   | t        d«      «       | dt        d«      z  «      «      t        g d¢g d¢g«      k(  sJ ‚y )Nrh   )rj   r   rh   r   )r   rj   r   rh   rj   r   )r   rî   r.   rý   r#   rJ  s    ru   Útest_issue_5320rR  Ï  sÚ   € Ü�=‰=œ˜Q› ¤3 q£6¡Ó*¬fÚÚð6ó /ò ð ð ô �=‰=œ˜Q› ¤3 q£6¡Ó*¬fØ	
ˆAˆØ	
ˆAˆØ	
ˆAˆØ	
ˆAˆð	6ó /ò ð ð ô €CØ�:‰:‘cœ#˜a›&“k¡3 q¬¨Q«¡x£=Ó1´VÚÚð=ó 6ò ð ñ rw   c                  óÒ   — t        dgg«      } t        | «      }t        j                  || «      t        ddgg«      k(  sJ ‚t        j                  || «      t        dgdgg«      k(  sJ ‚y r
  )r   rE   rî   rý   )r´   ÚAIms     ru   Útest_issue_11944rU  á  sb   € Ü��ˆu‹€AÜ
�!‹*€CÜ�=‰=˜˜aÓ ¤F¨Q°¨F¨8Ó$4Ò4Ð4Ð4Ü�=‰=˜˜aÓ ¤F¨Q¨C°!°¨:Ó$6Ò6Ð6Ñ6rw   c                  óº  ‡— g d¢} g d¢}t        g d¢«      }|j                  }ˆfd„}t        D ]š  Š ‰| «      } ‰|«      } ||j                  |«      |«        ||j                  |j                  «      |«        ||j                  j                  |j                  «      |«        ||j                  j                  |«      |«       Œœ t	        t
        d„ «       y )Nrp   rù   )r«   rk   r«   c                 ó4   •— || k(  sJ ‚t        | «      ‰k(  sJ ‚y rí   )r»  )r1  ru  rK  s     €ru   r	  ztest_cross.<locals>.testî  s   ø€ Ø�aŠxˆˆxÜ�A‹w˜#Š~Ð‰~rw   c                  óX   — t        ddddg«      j                  t        ddddg«      «      S r  rs  r{   rw   ru   r    ztest_cross.<locals>.<lambda>ø  s/   € Üˆq�!�a˜�VÓ×"Ñ"¤6¨!¨Q°°A°Ó#7Ó8ð rw   )r   r-  r;  rt  r_   rX   )rK   rL   r¼   r»   r	  r´   rµ   rK  s          @ru   Ú
test_crossrY  è  s±   ø€ Ú€AÚ€AÜ
’Ó
€CØ
�%‰%€Côô ò  ˆÙ�‹FˆÙ�‹FˆÙˆQ�W‰W�Q‹Z˜ÔÙˆQ�W‰W�Q—S‘S‹\˜3ÔÙˆQ�S‰S�Y‰Y�q—s‘s‹^˜SÔ!ÙˆQ�S‰S�Y‰Y�q‹\˜3Õð ô Œ:ñ 9õ :rw   c                  ó@  — t        t        t        t        g«      } t        t        t
        t        g«      }| j                  «       |z  | j                  |«      k(  sJ ‚| j                  «       j                  «       sJ ‚| j                  «       j                  «       | k(  sJ ‚y rí   )r   rP   rQ   rR   rK   rL   rM   Úhatrt  r  Úvee)Úv1Úv2s     ru   Útest_hat_veer_  ü  st   € Ü	””A”q�	Ó	€BÜ	””A”q�	Ó	€BØ�6‰6‹8�b‰=˜BŸH™H R›LÒ(Ð(Ð(Ø�6‰6‹8×%Ñ%Ô'Ð'Ð'Ø�6‰6‹8�<‰<‹>˜RÒÐÑrw   c                  ó  — t         D ]V  } | j                  d«      | j                  d«      h}t        |«      dk(  r#|j                  «       | j                  d«      k(  rŒVJ ‚ t        D ]#  } t        | j                  d«      t        «      sŒ#J ‚ y r
  )Úimmutable_classesr.   rV  Úpopr¦  r  r   )rK  rÒ  s     ru   Ú	test_hashrc    sz   € Ü ò 5ˆØ�W‰W�Q‹Z˜Ÿ™ ›Ð$ˆÜ�1‹v˜Š{˜qŸu™u›w¨#¯'©'°!«*Ó4Ð4Ð4ð5ô ò 4ˆÜ˜cŸg™g a›j¬(Õ3Ð3Ð3ñ4rw   c                  ó”   — dt         gddgg} t        ddgt          dgg«      }t        D ]  }| || «      j                  «       k(  rŒJ ‚ y ©Nr   rj   )r   r   r;  Úadjoint)r  ru  rK  s      ru   Útest_adjointrg    sW   € ØŒqˆ6�A�q�6Ð
€CÜ
�1�a�&œA˜2˜q˜'Ð"Ó
#€CÜò )ˆØ‘c˜#“h×&Ñ&Ó(Ó(Ð(Ð(ñ)rw   c                  ó  — t        ddgt        ddt        z  z
  gg«      } | j                  «       t        j                  t        d«      t        j
                  t        hk(  sJ ‚| j                  t        «      t        hk(  sJ ‚y r  )r   rP   re  r"   rˆ   ÚNegativeOner$   r½   s    ru   Ú
test_atomsrj    sb   € Ü��A�œ˜A ¤!¡™G˜Ð%Ó&€AØ�7‰7‹9œŸ™œq ›t¤A§M¡M´1Ð5Ò5Ð5Ð5Ø�7‰7”6‹?œq˜cÒ!Ð!Ñ!rw   c            	      óæ  ‡	— t        t        t        gt        t        gg«      } t        | j                  d¬«      «      t        | j                  «       «      k(  sJ ‚t        ddgddgddgg«      t        g d	¢g d
¢g«      t        t        t        g«      g}|D ]f  }|j                  d¬«      }||z  }||z  }t        ||z  «      |k(  sJ ‚t        ||z  «      |k(  sJ ‚|j                  |k(  sJ ‚|j                  |k(  rŒfJ ‚ |D ]o  }t        |j                  d¬«      «      }||z  }||z  }t        ||z  «      |k(  sJ ‚t        ||z  «      |k(  sJ ‚|j                  |k(  sJ ‚|j                  |k(  rŒoJ ‚ ddl	m
Š	 | j                  d¬«      }| j                  «       }t        dt        dt        dt        di}t        ˆ	fd„t        |j                  |«      |j                  |«      «      D «       «      sJ ‚y )NÚRDrg  r  éh   i¤  ri   ro  rl   )rj   r—   r™   )rá   r"  é   ÚEDr   )Úcompi_àþÿib,  i¾Ø  ijô  c              3   ón   •K  — | ],  \  }} ‰|j                  «       |j                  «       «      –— Œ. y ­wrí   rD  )r=  rÑ   rÝ   rp  s      €ru   r>  ztest_pinv.<locals>.<genexpr>A  s0   øè ø€ ò 
áˆAˆqñ 	ˆQ�S‰S‹U�A—C‘C“E×ñ
ùr?  )r   rK   rL   rM   rN   r@   Úpinvr•  r/  Úsympy.core.numbersrp  rF  r  ru  )
ÚA1ÚAsr´   ÚA_pinvÚAApÚApAr.  ÚwÚrepsrp  s
            @ru   Ú	test_pinvr{    sò  ø€ ä	”!”Q�œ!œQ˜Ð Ó	!€BÜ�B—G‘G 4�GÓ(Ó)¬X°b·f±f³hÓ-?Ò?Ð?Ð?ô �2�s�)˜d A˜Y¨¨Q¨Ð0Ó
1Ü
’)š\Ð*Ó
+Ü
”!”Q�‹.ð
€Bð ò ˆØ—‘˜t�Ó$ˆØ�&‰jˆØ�q‰jˆÜ˜˜a™Ó  AÒ%Ð%Ð%Ü˜˜f™Ó%¨Ò/Ð/Ð/Ø�u‰u˜Š|Ðˆ|Ø�u‰u˜‹|Ðˆ|ðð ò ˆÜ˜!Ÿ&™&¨˜&Ó-Ó.ˆØ�&‰jˆØ�q‰jˆÜ˜˜a™Ó  AÒ%Ð%Ð%Ü˜˜f™Ó%¨Ò/Ð/Ð/Ø�u‰u˜Š|Ðˆ|Ø�u‰u˜‹|Ðˆ|ðõ (Ø
�‰�tˆÓ€AØ
�‰‹€AÜˆv”q˜%¤ E¬1¨eÐ4€DÜó 
ä˜Ÿ™˜t› a§f¡f¨T£lÓ3ô
ô 
ð 
ñ 
rw   c            	      óØ   — t        g d¢g d¢g d¢g d¢g d¢g d¢g«      g} | D ]G  }|j                  d¬«      }||z  }||z  }|j                  |k(  sJ ‚d	„ } ||j                  |«      rŒGJ ‚ y )
N)é=   r‚  é7   re  rJ  r   )é>   é`   éU   r�  r#  r   )éE   é8   r"  rk   é6   r   )rß   r„  é[   é)   rJ  r   )r—   r=  rß   rl  éZ   r   )r   r   r   r   r   r   ro  rg  c                 óÚ   — | j                  t        «      }|D �ci c]  }||j                  «       “Œ }}| |z
  j                  |«      j                  «       }t	        d„ |D «       «      S c c}w )Nc              3   ó8   K  — | ]  }t        |«      d k  –— Œ y­w)g»½×Ùß|Û=Nr^  )r=  rŸ   s     ru   r>  zXtest_pinv_rank_deficient_when_diagonalization_fails.<locals>.allclose.<locals>.<genexpr>h  s   è ø€ Ò;¨!”s˜1“v •~Ñ;ùs   ‚)re  r!   r;  r|  rF  )rñ   rò   Úrootofsr’  Úrootofs_approxÚdiff_approxs         ru   ÚallclosezEtest_pinv_rank_deficient_when_diagonalization_fails.<locals>.allclosed  s`   € Ø—h‘hœvÓ&ˆGØ4;Ö<¨q˜a §¡£™lÐ<ˆNÐ<Ø ™7×,Ñ,¨^Ó<×BÑBÓDˆKÜÑ;¨{Ô;Ó;Ð;ùò =s   šA()r   rr  r/  )ru  r´   rv  rw  rx  r�  s         ru   Ú3test_pinv_rank_deficient_when_diagonalization_failsrŽ  G  sˆ   € ô
 	Ú#Ú#Ú#Ú#Ú#Úð ó 	!ð
€Bð ò $ˆØ—‘˜t�Ó$ˆØ�&‰jˆØ�q‰jˆØ�u‰u˜Š|Ðˆ|ò	<ñ ˜Ÿ™˜sÕ#Ð#Ð#ñ-$rw   c                  ó¨   — t        dd«      t        dd«      z   t        ddg «      k(  sJ ‚t        dd«      t        dd«      z   t        ddg «      k(  sJ ‚y re  )r5   r   r{   rw   ru   Útest_issue_7201r�  m  sR   € Ü��1‹:œ˜Q ›
Ñ"¤f¨Q°°2Ó&6Ò6Ð6Ð6Ü��1‹:œ˜Q ›
Ñ"¤f¨Q°°2Ó&6Ò6Ð6Ñ6rw   c                  ó‚   — t         t        t        t        fD ]&  }  | t        gdgg«      j
                  t        hk(  rŒ&J ‚ y r-  )r   r   r   r#   rP   Úfree_symbolsr0  s    ru   Útest_free_symbolsr“  r  s=   € ÜÔ3´V¼\ÐIò 1ˆÙ”1�#˜�s�‹}×)Ñ)¬a¨SÓ0Ð0Ð0ñ1rw   c                  óþ  ‡ — 	 ddl mŠ  t	         ‰ g d¢«      «      t	        g d¢«      k(  sJ ‚t	         ‰ g d¢g«      «      t	        g d¢g«      k(  sJ ‚t	         ‰ g d¢g d¢g«      «      t	        g d¢g d¢g«      k(  sJ ‚t	         ‰ t
        t        t        g«      «      t	        t
        t        t        g«      k(  sJ ‚t        t        ˆ fd„«       t	         ‰ ddg«       ‰ d	d
g«      g«      t	        ddgd	d
gg«      k(  sJ ‚t	         ‰ ddg«      d	d
gg«      t	        ddgd	d
gg«      k(  sJ ‚t	         ‰ g «       ‰ g «      g«      t	        ddg «      cxk(  rt	        g «      k7  sJ ‚ J ‚y# t        $ r t        d«       Y �Œrw xY w)zSee issue 7465.r   ©r]  r_  rp   ro   c                  óB   •— t         ‰ ddgddggddgddggg«      «      S )	Nrj   rh   ri   rk   rl   rm   r—   r˜   r³  r•  s   €ru   r    z#test_from_ndarray.<locals>.<lambda>„  s0   ø€ ”‘u  1˜v¨¨1 vÐ.°!°Q°¸!¸Q¸Ð0@ÐAÓBÓC€ rw   rj   rh   ri   rk   N)
rb  r]  re  r`   r   rP   rQ   rR   r_   ÚNotImplementedErrorr•  s   @ru   Útest_from_ndarrayr˜  w  sv  ø€ ðPÝô ‘%š	Ó"Ó#¤vªiÓ'8Ò8Ð8Ð8Ü‘%š˜Ó$Ó%¬²°Ó)<Ò<Ð<Ð<Ü‘%š¢IÐ.Ó/Ó0Ü’	š9Ð%Ó&ò'ð 'ð 'ä‘%œœAœq˜	Ó"Ó#¤v¬q´!´Q¨iÓ'8Ò8Ð8Ð8Ü
ÔÛCôEä‘5˜!˜Q˜“=¡%¨¨A¨£-Ð0Ó1´V¸aÀ¸VÀaÈÀVÐ<LÓ5MÒMÐMÐMÜ‘5˜!˜Q˜“= 1 a &Ð)Ó*¬f°q¸!°f¸qÀ!¸fÐ5EÓ.FÒFÐFÐFÜ‘5˜“9™e B›iÐ(Ó)¬V°A°q¸"Ó-=ÔKÄÈÃÒKÐKÑKÐKÑKøô ò PÜÐN×OðPús   ƒE$ Å$E<Å;E<c                  ó^  — ddl m}  	 ddlm}m}  |  ddgddgg«      «      }|d   dk(  sJ ‚t        |«      g d	¢k(  sJ ‚t        t        «      5   |  ddgddgg«      «      }d d d «       |d   dk(  sJ ‚t        |«      g d	¢k(  sJ ‚y # t
        $ r t        d«       Y Œ�w xY w# 1 sw Y   Œ@xY w)
Nr   ©Ú
_matrixify)r]  ÚmatrixzPNumPy must be available to test indexing matrixified NumPy ndarrays and matricesrj   rh   ri   rk   r  )
Úsympy.matrices.commonr›  rb  r]  rœ  re  r`   rs   r^   ÚPendingDeprecationWarning)r›  r]  rœ  rŽ   s       ru   Útest_17522_numpyrŸ  Š  sÆ   € Ý0ðaß'ñ 	‘5˜1˜a˜& 1 a &Ð)Ó*Ó+€AØˆQ‰4�1Š9Ðˆ9Ü�‹7’lÒ"Ð"Ð"ä	Ô2Ó	3ñ 1Ù‘v  1˜v¨¨1 vÐ.Ó/Ó0ˆ÷1àˆQ‰4�1Š9Ðˆ9Ü�‹7’lÒ"Ð"Ñ"øô ò aÜÐ_Ö`ðaú÷1ð 1ús   ˆB	 ÁB#Â	B ÂB Â#B,c                  ó²   — ddl m}  	 ddlm}  |  ddgddgg«      «      }|d   d	k(  sJ ‚t        |«      g d
¢k(  sJ ‚y # t        $ r t        d«       Y ŒGw xY w)Nr   rš  )rœ  zEmpmath must be available to test indexing matrixified mpmath matricesrj   rh   ri   rk   ç      @)rZ  r[  r  r¡  )r�  r›  Úmpmathrœ  re  r`   rs   )r›  rœ  rŽ   s      ru   Útest_17522_mpmathr£  ›  sk   € Ý0ðVÝ!ñ 	‘6˜A˜q˜6 A q 6Ð*Ó+Ó,€AØˆQ‰4�3Š;Ðˆ;Ü�‹7Ò*Ò*Ð*Ñ*øô ò VÜÐTÖUðVúó   ˆ? ¿AÁAc                  ó²   — ddl m}  	 ddlm}  |  ddgddgg«      «      }|d   dk(  sJ ‚t        |«      g d	¢k(  sJ ‚y # t        $ r t        d«       Y ŒGw xY w)
Nr   rš  )Ú
csr_matrixzJSciPy must be available to test indexing matrixified SciPy sparse matricesrj   rh   ri   rk   r  )r�  r›  Úscipy.sparser¦  re  r`   rs   )r›  r¦  rŽ   s      ru   Útest_17522_scipyr¨  §  sj   € Ý0ð[Ý+ñ 	‘:  1˜v¨¨1 vÐ.Ó/Ó0€AØˆQ‰4�1Š9Ðˆ9Ü�‹7’lÒ"Ð"Ñ"øô ò [ÜÐYÖZð[úr¤  c                  óø   — t        dt        gt         dgg«      } | j                  sJ ‚dt        z  | d<   | j                  du sJ ‚t        | d<   | j                  �J ‚| d   t        z  | d<   | j                  du sJ ‚y )Nrj   rh   r~   Fr€   r   r  r  s    ru   Útest_hermitianrª  ³  s‚   € Ü�”A�œ!˜˜Q˜Ð Ó!€AØ�>Š>Ðˆ>Ø”‰c€A€d�GØ�>‰>˜UÑ"Ð"Ð"Ü€A€d�GØ�>‰>Ð!Ð!Ð!Ø�‰g”a‰i€A€d�GØ�>‰>˜UÑ"Ð"Ñ"rw   c                  óš  ‡‡— t        g d¢g d¢g d¢g«      } | j                  d«       | t        g d¢g d¢g«      k(  sJ ‚t        g d¢g d¢g d¢g«      }|j                  d«       |t        g d¢g d¢g«      k(  sJ ‚t        g d¢g d¢g d¢g«      }|j                  d«       |t        g d¢g d¢g«      k(  sJ ‚t        g d¢g d¢g d¢g«      Št        t        ˆfd	„«       t        g d¢g d¢g d¢g«      Št        t        ˆfd
„«       t        g d¢g d¢g d¢g«      } | j	                  d«       | t        ddgddgddgg«      k(  sJ ‚t        g d¢g d¢g d¢g«      }|j	                  d«       |t        ddgddgddgg«      k(  sJ ‚t        g d¢g d¢g d¢g«      Št        t        ˆfd„«       t        g d¢g d¢g d¢g«      Št        t        ˆfd„«       y )Nrp   r›  rù   rj   r«   )rl   rm   r—   rû   rª   c                  ó&   •— ‰ j                  d«      S ro  rœ   ©r—  s   €ru   r    z+test_issue_9457_9467_9876.<locals>.<lambda>Ê  r¥   rw   c                  ó(   •—  ‰ j                   d«      S ©Nrr  rœ   ©r   s   €ru   r    z+test_issue_9457_9467_9876.<locals>.<lambda>Ì  ó   ø€ ˜y˜qŸy™y¨›~€ rw   ri   rh   rk   rl   c                  ó&   •— ‰ j                  d«      S ro  r§   r­  s   €ru   r    z+test_issue_9457_9467_9876.<locals>.<lambda>Ö  r¥   rw   c                  ó(   •—  ‰ j                   d«      S r¯  r§   r°  s   €ru   r    z+test_issue_9457_9467_9876.<locals>.<lambda>Ø  r±  rw   )r   r�   r_   r­   r¨   )r1  rV  ÚOr—  r   s      @@ru   Útest_issue_9457_9467_9876rµ  ¾  s•  ù€ ä’	š9¢iÐ0Ó1€AØ‡I�Iˆa„LØ”š	¢9Ð-Ó.Ò.Ð.Ð.Ü’	š9¢iÐ0Ó1€AØ‡I�Iˆb„MØ”š	¢9Ð-Ó.Ò.Ð.Ð.Ü’	š9¢kÐ2Ó3€AØ‡I�Iˆb„MØ”š	¢9Ð-Ó.Ò.Ð.Ð.Ü’	š9¢iÐ0Ó1€AÜ
Œ:Ó,Ô-Ü’	š9¢iÐ0Ó1€AÜ
Œ:Ó-Ô.ô 	’	š9¢iÐ0Ó1€AØ‡I�Iˆa„LØ”˜˜A˜  A ¨¨A¨Ð/Ó0Ò0Ð0Ð0Ü’	š9¢iÐ0Ó1€AØ‡I�Iˆb„MØ”˜˜A˜  A ¨¨A¨Ð/Ó0Ò0Ð0Ð0Ü’	š9¢iÐ0Ó1€AÜ
Œ:Ó,Ô-Ü’	š9¢iÐ0Ó1€AÜ
Œ:Ó-Õ.rw   c                  óD  — t        dd¬«      \  } }t        d«      \  }}t        d«      }t        dd| ||t        g«      }|| z  |z  | |z  |z  k7  sJ ‚||z  |z  ||z  |z  k(  sJ ‚| |z  || z  k7  sJ ‚||z  ||z  k(  sJ ‚|| z  |z  t        || z  dgd|| z  gg«      k(  sJ ‚y )Nrþ  F)Úcommutativeza brh   r   )rD   r.   r   rR   )rP   rQ   rK   rL   r1  rñ   s         ru   Útest_issue_9422r¸  Û  sÎ   € Ü�5 eÔ,�D€A€qÜ�5‹>�D€A€qÜˆA‹€AÜ	��1�q˜!˜Q¤�lÓ	#€BØˆQ‰3ˆq‰5�A�a‘C˜‘EŠ>Ðˆ>ØˆQ‰3ˆq‰5�A�a‘C˜‘EŠ>Ðˆ>ØˆR‰4�2�a‘4Š<Ðˆ<ØˆR‰4�2�a‘4Š<Ðˆ<ØˆQ‰3ˆq‰5”F˜Q˜q™S !˜H q¨!¨A©# hÐ/Ó0Ò0Ð0Ñ0rw   c                  ó2  — t        g «      } ddgt        g d¢«      f}ddg|d   j                  f}ddgt        ddgdd	gg«      f}|||fD ]K  \  }}|D ]A  }t        | |«      }d
|v r ||«      n |d|«      }||k(  rt        |«      t        |«      k7  rŒAJ ‚ ŒM y )NrÖ   rÁ   )r™   rm   ri   rÎ   rÇ   rj   rh   ri   rk   Újoinr”  )r   r-  r³  Úid)	r1  rK   rL   rM   ÚopsrŽ   Úopr`  Únews	            ru   Útest_issue_10770r¿  ç  s½   € Üˆr‹
€AØ	�zÐ"¤Fª9Ó$5Ð5€AØ	�zÐ" A a¡D§F¡FÐ*€AØ	�|Ð$¤f¨q°!¨f°q¸!°fÐ-=Ó&>Ð>€AØ�a˜�)ò 1‰ˆˆQØò 	1ˆBÜ˜˜2“ˆAØ  B™,‘!�A”$©A¨b°!«HˆCØ˜!’8¤ 3£¬2¨a«5Ó 0Ð0Ð0ñ	1ñ1rw   c                  ód  — t        g d¢g d¢g d¢g«      } | j                  g d¢g d¢«      t        ddgdd	gd
dgg«      k(  sJ ‚| j                  g d¢g d¢«      t        dgdgd
gg«      k(  sJ ‚| j                  g d¢g d¢«      t        g d¢g«      k(  sJ ‚| j                  g d¢g d¢«      t        g d¢g d¢g«      k(  sJ ‚| j                  g d¢g d¢«      t        ddg «      k(  sJ ‚| j                  g d¢g d¢«      t        ddg «      k(  sJ ‚| j                  g d¢g d¢«      t        dgdgg«      k(  sJ ‚y )Nrp   ro   r¬   r‘   )TTFrj   rh   rk   rl   r—   r˜   )TFF)TFT)FFFri   r   )FTF)r   rä   r  s    ru   Útest_issue_10658rÁ  ó  s8  € Ü’	š9¢iÐ0Ó1€AØ�9‰9’YÒ 3Ó4Ü��A�˜˜A˜  A Ð'Ó(ò)ð )ð )à�9‰9’YÒ 4Ó5¼À!ÀÀqÀcÈAÈ3ÀÓ9PÒPÐPÐPØ�9‰9Ò)ª9Ó5¼ÂÀÓ9LÒLÐLÐLØ�9‰9Ò(ª)Ó4Ü’	š9Ð%Ó&ò'ð 'ð 'à�9‰9’YÒ 5Ó6¼&ÀÀAÀrÓ:JÒJÐJÐJØ�9‰9Ò*ªIÓ6¼&ÀÀAÀrÓ:JÒJÐJÐJØ�9‰9Ò(Ò*>Ó?Ü���a�SˆzÓòð ñ rw   c                  óâ  — t        ddt        d«      z  z   dgdt        d«      z  dz  dz   dt        d«      z  dz  gg«      } | j                  «       dk(  sJ ‚t        ddt        d«      z  t        z  z   dgdddt        d«      z  t        z  z   gg«      } t	        | j                  «       d	   t        ddddt        d«      z  t        z  z   z  gd	d	gg«      z
  «      t        dd«      k(  sJ ‚t        d
«      \  }}}}}}}}}	}
}}t        ||||z  ||z  d	g||||z  ||z  d	g||||z  ||z  dg||||z  ||z  dg|	|
d|	z  |z  |	|z  z
  d|
z  |z  |
|z  z
  d	gg«      } | j                  «       dk(  sJ ‚y )Nr¤   rl   rh   rj   ri   r$  rk   ro  r   z/a_x a_y b_x b_y c_x c_y d_x d_y e_x e_y t_0 t_1)r   rB   rû  r   r@   r»  rI   rD   )rŽ   ÚaxÚayÚbxÚbyÚcxÚcyÚdxÚdyÚexÚeyÚt0Út1s                ru   Ú!test_opportunistic_simplificationrÏ    s÷  € ô 	��aœ˜Q›‘i‘ Ð$ r¬$¨q«'¡z°!¡|°aÑ'7¸¼DÀ»G¹ÀA¹Ð&FÐGÓH€AØ�6‰6‹8�qŠ=Ðˆ=ô 	��1”T˜!“W‘9œQ‘;‘ Ð# Q r¨!¬D°«G©)´A©+¡~Ð$6Ð7Ó8€AÜ�A—F‘F“H˜Q‘K¤&¨1¨b°!°a¼¸Q»±iÄ±k±/Ñ.BÐ*CÀaÈÀVÐ)LÓ"MÑMÓNÔRWÐXYÐ[\ÓR]Ò]Ð]Ð]ô +2Ð2cÓ*dÑ'€B€rˆ"ˆR��2�b˜˜B˜r " RÜ��B�r˜"‘u˜R ™U 1Ð% r¨"¨R°©U°2°b±5¸Ð&;¸RÀÀ2ÀbÁ5ÈÈBÉÈqÐ<QÐSUÐVXÐY[Ð\^ÑY^Ð_aÐbdÑ_dÐefÐRgÐikÐlnÐopÐqsÑosÐtvÑovÐwyÐz|Ñw|Ño|Ð}~ð  @Bñ  ~Bð  CEñ  ~Eð  FHð  IKñ  FKñ  ~Kð  LMð  iNð  Oó  	P€AØ�6‰6‹8�qŠ=Ð‰=rw   c                  ó¦  — t        g d¢g d¢g«      } | j                  «       d   t        g d¢g d¢g«      z
  j                  «       dk  sJ ‚t        g d¢g d¢g d	¢g«      }t        g d
¢g d¢g d¢g«      }t        g d¢g d¢g d	¢g«      }|j                  «       |z
  j                  «       dk  sJ ‚|j                  «       |z
  j                  «       dk  sJ ‚y )N)gú~j¼t“h?gR¸…ë‘M@gö(\�Â•M@)gD‹lçû)@g…ëQ¸…Àg¤p=
×cG@r   )rZ  r   rs  )r   rZ  rZ  çVçž¯Ò<)çqµô7K‘<rZ  rk   )r\  r   r˜   rÆ   )rÒ  rZ  r¡  )r\  ç        ç       @)rÓ  rÓ  rZ  )r   r\  rÔ  )rZ  rÒ  g      À)r   r»  rÖ  r•  )ÚmmÚm_mixedÚm_floatÚm_invs       ru   Útest_partial_pivotingrÙ    sç   € ô
 Ò$Ò&;Ð<Ó=€BØ�G‰G‹I�a‰Lœ6Ò#3Ú#3ð#5ó 6ñ 6ß7;±t³vÀòFð Fð Fô ’oÚ%Ú%ð'ó (€Gô Ò'Ú'Ú'ð)ó *€Gô Ò(Ú(Ú(ð*ó +€Eð
 �K‰K‹M˜EÑ!×'Ñ'Ó)¨EÒ1Ð1Ð1Ø�K‰K‹M˜EÑ!×'Ñ'Ó)¨EÒ1Ð1Ñ1rw   c                  óÈ   — t        g d¢g d¢g d¢g«      } | j                  d„ ¬«      d   }t        g d¢g d¢g d	¢g«      }||z
  }|j                  «       d
k  sJ ‚|d   dk(  sJ ‚y)z‘ When doing numerical computations, all elements that pass
    the iszerofunc test should be set to numerically zero if they
    aren't already. )çÍÌÌÌÌÌì?çš™™™™™¹¿gš™™™™™É¿r   )çš™™™™™é¿rÛ  gš™™™™™Ù¿r   )rÜ  rÝ  g333333ã?r   c                 ó   — t        | «      dk  S )Ng [n‡û<r^  rt   s    ru   r    z*test_iszero_substitution.<locals>.<lambda>2  s   € ¬¨Q«°©€ rw   r‘  r   )rZ  r   g¡4iÒ¤IÓ¿r   )r   rZ  g¹lÙ²eËæ¿r   rŠ  rÑ  rÞ  N)r   r»  rÖ  )rŽ   Úm_rrefÚ	m_correctÚm_diffs       ru   Útest_iszero_substitutionrâ  +  sr   € ô 	Ò$Ò%9Ò:NÐOÓP€AØ�V‰VÑ5ˆVÓ6°qÑ9€FÜÒ9Ò:[Ò\}Ð~Ó€IØ�iÑ€FØ�;‰;‹=˜5Ò Ð Ð à�#‰;˜!ÒÐÑrw   c            	      ó  — ddl m}  dt        t        t	        dd«      z  «      z  t        t        t	        dd«      z  «      t        d«      z   z  }dt        d«      z  t        t        t	        dd«      z  «      dz  z  d	t        t        t	        dd«      z  «      z  z   d
t        t        t	        dd«      z  «      dz  z   z  } | dd«      } | dt        d«       «      } | ||«      }t        |t        |«      z
  |t        |«      z
  g«      }t        ||z
  ||z
  g«      }t        t        ||z
  «      t        ||z
  «      g«      }d„ }	|j                  d|	¬«      dk(  sJ ‚|j                  d|	¬«      dk(  sJ ‚|j                  d|	¬«      dk(  sJ ‚y )Nr   )ÚPointr˜   r  é-   ri   r%  rh   rj  ro  rj   c                 ó<   — t         | j                  «       «      dk  S )Ng#B’¡œÇ;)rJ  rE  rt   s    ru   r    z"test_issue_11238.<locals>.<lambda>H  s   € ”#�c�a—c‘c“e“*˜uÑ$€ rw   T)r@   rÍ  )	Úsympy.geometry.pointrä  rF   r7   r    rB   r   r@   rû  )
rä  ÚxxÚyyÚp1Úp2Úp0r‚   rƒ   r„   ÚZs
             ru   Útest_issue_11238rî  :  s‚  € Ý*Ø	
Œ3Œr”(˜2˜rÓ"Ñ"Ó#Ñ	#¤S¬¬H°R¸Ó,<Ñ)<Ó%=ÄÀQÃÑ%GÑ	H€BØ
ŒT�!‹W‰*”SœœH R¨Ó,Ñ,Ó-¨qÑ0Ñ
0°2´c¼"¼XÀbÈ"Ó=MÑ:MÓ6NÑ3NÑ
NÐQSÔVYÔZ\Ô]eÐfhÐjlÓ]mÑZmÓVnÐpqÑVqÑQqÑ	r€BÙ	ˆq�!‹€BÙ	ˆq”4˜“7�(Ó	€BÙ	ˆr�"‹€BÜ	�”h˜r“lÑ" B¬°"«Ñ$5Ð6Ó	7€BÜ	��b‘˜"˜r™'Ð"Ó	#€BÜ	”˜"˜r™'Ó"¤H¨R°"©WÓ$5Ð6Ó	7€Bñ
 	%€AØ�7‰7˜D¨Qˆ7Ó/°1Ò4Ð4Ð4Ø�7‰7˜D¨Qˆ7Ó/°1Ò4Ð4Ð4Ø�7‰7˜D¨Qˆ7Ó/°1Ò4Ð4Ñ4rw   c                  óþ   — t        ddg d¢«      } | t        j                  z  }| |z   }t        D ]M  } ||«      j	                  «       \  }}t        |«      t        | «      k(  sJ ‚t        |«      t        | «      k(  rŒMJ ‚ y )Nrh   r  )r   r"   ÚImaginaryUnitr;  Úas_real_imagrs   )r‚   rƒ   r„   ÚklsrK   rL   s         ru   Útest_as_real_imagró  N  sx   € Ü	��!’IÓ	€BØ	ŒA�O‰OÑ	€BØ	ˆb‰€Bäò #ˆÙ�"‹g×"Ñ"Ó$‰ˆˆ!Ü�A‹wœ$˜r›(Ò"Ð"Ð"Ü�A‹wœ$˜r›(Ó"Ð"Ð"ñ#rw   c                  ó¢   — t        ddg d¢«      } | j                  «       \  }}|d   t        dddg«      k(  sJ ‚|d   t        ddg d¢«      k(  sJ ‚y )Nri   r"  rj   rh   r   )rh   rj   r   rh   )r   Újordan_cells)rŽ   r—  ÚJcellss      ru   Útest_deprecatedr÷  Y  s[   € ô
 	ˆq�!Ò2Ó3€AØ—‘Ó �I€A€vØ�!‰9œ˜q ! a SÓ)Ò)Ð)Ð)Ø�!‰9œ˜q !¢\Ó2Ò2Ð2Ñ2rw   c                  ó¨   — ddl m}  t        g d¢«      }t        g d¢«      } | |d«      t        g d¢«      k(  sJ ‚ | |d«      t        g d¢«      k(  sJ ‚y )	Nr   )ÚMod)rª   rj   rh   )rß   re  r#  ri   )rh   rj   rh   rk   )rh   r   rj   )Úsympy.core.modrù  r   )rù  r´   rµ   s      ru   Útest_issue_14489rû  d  sK   € Ý"ÜŠzÓ€AÜŠ}Ó€Aáˆq�!‹9œšyÓ)Ò)Ð)Ð)Ùˆq�!‹9œšyÓ)Ò)Ð)Ñ)rw   c                  ó¶   — 	 ddl m}  t	        ddgddgg«      }  |t
        ¬«      j                  j                  d	k(  sJ ‚y # t        $ r t        d«       Y ŒOw xY w)
Nr   r•  r_  rj   rh   ri   rk   )ÚdtypeÚfloat64)rb  r]  re  r`   r   Úfloatrý  Úname)r]  r1  s     ru   Útest_issue_14943r  m  s`   € ðPÝô 	��1�˜˜!�uˆ~Ó€AÙ�œ%Ô ×&Ñ&×+Ñ+¨yÒ8Ð8Ñ8øô	 ò PÜÐNÖOðPús   ‚A ÁAÁAc                  ód   — t        ddd«      } t        d«      }| d   dkD  }t        |«      dk(  sJ ‚y )NrŽ   rj   rK   r~   r   zm[0, 0] > 0)r   r$   r
  )rŽ   rK   s     ru   Útest_case_6913r  x  s8   € Ü�S˜!˜QÓ€AÜˆs‹€AØ	ˆ$‰�‰	€AÜˆq‹6�]Ò"Ð"Ñ"rw   c                  ód   — t        ddd«      } t        d«      }| j                  |«      || ik(  sJ ‚y )Nr´   ri   rK   )r   r&   Úmatch)r´   rK   s     ru   Útest_issue_11948r    s3   € Ü�S˜!˜QÓ€AÜˆS‹	€AØ�7‰7�1‹:˜!˜Q˜ÒÐÑrw   c                  ób  — t        dt        g«      t        dt         g«      g} t        j                  | Ž t        dgt        gg«      t        dgt         gg«      gk(  sJ ‚t        dt        dg«      t        t        dt         g«      g} t        j                  | Ž t        dgt        gdgg«      t        t        dz  gt        d«      dz  gt         gg«      gk(  sJ ‚t        dt        gdt         gg«      }|j	                  «       \  }}||j
                  z  t        j                  d«      k(  sJ ‚y )Nrj   r   rh   )r   r   rð  r"   ÚQRdecompositionr/  r.   )rò  rA  r   rŒ  s       ru   Útest_gramschmidt_conjugate_dotr	  …  s'  € Ü�A”q�6‹NœF A¬ r 7›OÐ,€DÜ×Ñ Ð&Ü	�!�”q�c�
Ó	œV a S¬A¨2¨$ KÓ0Ð1ò2ð 2ð 2ô �A”q˜!�9Óœv¤q¨!¬a¨R jÓ1Ð2€DÜ×Ñ Ð&Ü	�!�”q�c˜A˜3�Ó	 ¤&¬1¨Q©3¨%´!°A³$°q±&°¼Q¸B¸4Ð)@Ó"AÐBòCð Cð Cô �1”a�&˜1œq˜b˜'Ð"Ó
#€CØ×ÑÓ �D€A€qØˆq�s‰s‰7”f—j‘j “mÒ#Ð#Ñ#rw   c                  óÞ   — t        t        ddd«      «      } t        t        ddd«      «      } | j                  |«      }t        || d   «      }t        || d   «      }||d   k(  sJ ‚|dk(  sJ ‚y )NrK   ri   rj   rL   r~   r   )r   r   rw  r+   )rK   rL   rM   rN   rŸ   s        ru   Útest_issue_8207r  “  sr   € ÜŒ|˜C  AÓ&Ó'€AÜŒ|˜C  AÓ&Ó'€AØˆ�‰ˆa‹€AÜˆQ��$‘Ó€AÜˆQ��$‘Ó€AØ��$‘Š<Ðˆ<Ø�Š6€M‰6rw   c            	      óÄ  ‡— ddl m}  t        ddgddgg«      Š‰j                  t	        t
        t        z  «      t
        «      t        t	        t        «      t	        dt        z  «      t	        t        «      z
  gdt	        dt        z  «      gg«      k(  sJ ‚t        ddgddgg«      Št        ‰z  dz  j                  t        t
        «      t
        «      t        t        d«      dz  t        d«       dz  gt        d«       dz  t        d«      dz  gg«      k(  sJ ‚t        t        d„ «       t        t        ˆfd	„«       t        g d
¢g d
¢g d¢g d¢g«      Š‰j                  t        t
        «      t
        «      ‰j                  «       k(  sJ ‚t        t        ˆfd„«       t        ddgddgg«      Št        ‰j                  t        t
        «      t
        «      dz  «      ‰k(  sJ ‚t        g d¢g d¢g d¢g«      Št        ‰j                   | t
        d«      t
        «      dz  «      ‰k(  sJ ‚t        g d¢g d¢g d¢g d¢g«      Š‰j                  t        t
        «      t
        «      ‰j                  «       k(  sJ ‚t        g d¢g d¢g d¢g d¢g«      Š‰j                  t        t
        t        z  «      t
        «      t        t        ‰t        z  j                  «       «      «      k(  sJ ‚y )Nr   )Únthrootrj   rh   ri   rm   rk   c                  óZ   — t        d«      j                  t        t        «      t        «      S r›   )rI   Úanalytic_funcr2   rP   r{   rw   ru   r    ztest_func.<locals>.<lambda>§  s   € ¤ a£× 6Ñ 6´s¼1³v¼qÓ A€ rw   c                  óX   •— ‰ t         z  j                  t        t         «      t         «      S rí   )rP   r  r2   r  s   €ru   r    ztest_func.<locals>.<lambda>¨  s   ø€  ¤1¡× 3Ñ 3´C¼³F¼AÓ >€ rw   )r   rª   r«   ri   )r   rj   r   rª   )r   r   rª   rj   c                  óJ   •— ‰ j                  t        t        «      t        «      S rí   )r  rB   rP   r  s   €ru   r    ztest_func.<locals>.<lambda>¬  s   ø€  §¡´´Q³¼Ó ;€ rw   r†  rx  r€  )ri   ré  rk   )rª   r   r«   )rª   rl   rª   rT  )rj   rh   r   r   )r   rj   ri   r   )r   r   rj   ri   )r   rh   rj   rm   )r   r   rj   rh   )r   r   r   ri   rŠ  )Úsympy.simplify.simplifyr  r   r  rA   rP   rO   r7   r)   rB   r_   r�  r,   r@   r-   )r  r´   s    @ru   Ú	test_funcr  �  sD  ø€ Ý/ä��A�˜˜1�vˆÓ€AØ�?‰?œ3œq¤™s›8¤QÓ'¬6´C¼³F¼CÀÄ!Á»HÄsÌ1ÃvÑ<MÐ3NÐQRÔTWÐXYÔZ[ÑX[ÓT\ÐP]Ð2^Ó+_Ò_Ð_Ð_ä��A�˜˜1�vˆÓ€AÜ�‰F�Q‰J×%Ñ%¤c¬!£f¬aÓ0´F¼TÀ!»WÀQ¹YÌÈaËÈÐQRÉ
Ð<SÔW[Ð\]ÓW^ÐV^Ð_`ÑV`ÔbfÐghÓbiÐjkÑbkÐUlÐ;mÓ4nÒnÐnÐnô Œ:ÑAÔBÜ
Œ:Ó>Ô?ä’¢²º}ÐMÓN€AØ�?‰?œ3œq›6¤1Ó%¨¯©«Ò0Ð0Ð0Ü
Œ:Ó;Ô<ä��R�˜"˜b˜Ð"Ó#€AÜ�A—O‘O¤D¬£G¬QÓ/°Ñ2Ó3°qÒ8Ð8Ð8ä’š[ª+Ð6Ó7€AÜ�A—O‘O¡G¬A¨q£M´1Ó5°qÑ8Ó9¸QÒ>Ð>Ð>ä’šlªLº,ÐGÓH€AØ�?‰?œ3œq›6¤1Ó%¨¯©«Ò0Ð0Ð0ä’šlªLº,ÐGÓH€AØ�?‰?œ3œq¤™s›8¤QÓ'¬6´(¸A¼a¹C¿9¹9»;Ó2GÓ+HÒHÐHÑHrw   z$Cannot create threads under pyodide.c                  óø   — d„ } t        d«      5  t        j                  j                  «       5 }|j	                  | «      }|j                  «       sJ ‚	 d d d «       d d d «       y # 1 sw Y   ŒxY w# 1 sw Y   y xY w)Nc                  óR   — t         j                  d k(  sJ ‚t        dgg«      } | | z  } yr“  )rZ   Ústater   r½   s    ru   r`  ztest_issue_19809.<locals>.f¾  s/   € Ü!×'Ñ'¨4Ò/Ð/Ð/Ü�Q�C�5‹MˆØ�‰EˆØrw   T)r\   Ú
concurrentÚfuturesÚThreadPoolExecutorÚsubmitÚresult)r`  ÚexecutorÚfutures      ru   Útest_issue_19809r  »  sp   € òô 
�TÓ	ñ #Ü×Ñ×2Ñ2Ó4ð 	#¸Ø—_‘_ QÓ'ˆFØ—=‘=”?Ð"‘?÷	#÷#ð #÷	#ð 	#ú÷#ð #ús"   �A0®$A$ÁA0Á$A-	Á)A0Á0A9c                  óÀ   — t        t        t        g«      } t        | t        ddft        ddf«      t        t        j
                  gt        j
                  gg«      k(  sJ ‚y re  )r   rP   rQ   r1   r"   r‰   r0  s    ru   Útest_issue_23276r   Ê  sT   € Ü””1ˆv‹€AÜ�Qœ˜A˜q˜	¤A q¨! 9Ó-´Ü	
�‰ˆÜ	
�‰ˆð9ó 2ò ð ñ rw   c                  ó&   — t        t        d„ «       y )Nc                  ó.   — t        t        g d¢«      «      S )Nrø  )r/   r   r{   rw   ru   r    z"test_issue_27225.<locals>.<lambda>Ó  s   € œu¤VªIÓ%6Ó7€ rw   r  r{   rw   ru   Útest_issue_27225r#  Ñ  s   € ä
Œ9Ñ7Õ8rw   (T  Úconcurrent.futuresr  r@  Úcollections.abcr   Úsympyr   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(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   r�  rK   rL   rM   rN   rO   rP   rQ   rR   Úsympy.core.kindrS   rT   Úsympy.matrices.determinantrU   Úsympy.matrices.exceptionsrV   rW   rX   Úsympy.matrices.kindrY   Úsympy.matrices.utilitiesrZ   r[   r\   Ú$sympy.tensor.array.array_derivativesr]   Úsympy.testing.pytestr^   r_   r`   ra   rb   rc   Úsympy.utilities.iterablesrd   re   Úimportlib.metadatarf   r;  r¦  ra  rv   r|   r†   r�   r”   r®   r²   r¸   r¾   rÂ   rÈ   rÓ   rØ   rç   rõ   rþ   r  r	  r  r  r  r  r#  r*  r2  r7  rG  rW  r[  rj  rr  rv  r…  r�  r•  rž  r¦  r±  r´  r¶  r¸  r¼  r¿  rÁ  rÈ  rÓ  rå  rõ  rü  r   r  r  r  r   r&  r7  r<  rC  rE  rH  rK  rQ  rU  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$  r)  r0  r3  r6  rD  rW  rl  rp  rv  rz  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+  r1  r3  r5  r<  rA  rD  rH  rP  rT  rW  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/  r1  r4  r<  rG  rJ  rM  rP  rR  rU  rY  r_  rc  rg  rj  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   ru   ú<module>r0     s“  ðÛ Û Ý $÷
(÷ 
(÷ 
(÷ 
(÷ 
(÷ 
(÷ 
(÷ 
(÷ 
(÷ 
(÷ 
(÷ 
(÷ 
(÷ 
(÷ 
(÷ 
(÷ 
(÷ 
(ñ 
(÷ -× ,Ó ,ß 5Ý C÷3ñ 3å *ß OÑ OÝ @÷÷ ÷ 8Ý &à�| _Ð6KÐL€Ø˜<Ð(€Ø$Ð&;Ð<Ð ò7ò&Pò5òòòMò&ò,ò /ò"òò;ò.ò 4ò'ò*'ò*ò*ò#ò$ò"ò ò
%òò$ò$'ò9òò5ò
8òOò	'ò">òHòDò@&òò21ò (ò
)ò
1ò
5ò6ò7òLò^0ò(0ò>Lò,4òBGò#ò8ò Mò,ò%òò 
+ò
!ò+ò
&òò9ò)òXGòT_JòD?òò_ò*JòZ_ò%ò'ò ò6ò%ò;ò5òò8GòPòyò	8ò$ò)ò&ò&<ò<ò<ò<ò<òòKò(dòò&Kò0O2òdòDò+ò8Pò1òò&
:òò>7Mòt6ð. ñ6ó ð6ò* ò8!ò"Gò&9òP ò"-òòòò:òò&ò òò>òòòò*ò)ò  ò
.ò	ò*òFò!ò@ò.6òGò$1ò&3ó@E!óP
1óH%óV&ó('ó$ó&4ó.óLó)ó2
óó !ó&;6ó|"ó9óOó*4(ónPó!ó%IóPZóz.ó&ó"ó óó$<ó">óJDó-ó;ó-ó"8ó
/ó(ó1ó
(ó.3ó(?óGó4ó\ópó&ó(*ó&óFóó$7ó:ó( ó4ó)ó"ó*
ðZ ñ"$ó ñ"$óJ7ó
1ó
Ló&#ó"	+ó	#ó#ó/ó:	1ó	1óóó"2ó2ó5ó(#ó3ó*ó9ó#ó ó$óóIñ< Ð:Ó;ñ#ó <ñ#óô9rw   