Ë
    3^(h  ã                   ó²   — d dl Z d dlZd dl­ d„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd	„ Z	d
„ Z
d„ Zd„ Zd„ Zd„ Ze j                  j!                  «       d„ «       Zd„ Zd„ Zy)é    N)Ú*c                  óz  ‡
‡‡— t        d«      } t        d«      D ]	  }d| ||f<   Œ | t        d«      k(  sJ ‚| t        | «      k(  sJ ‚t        dd«      Š
‰
j                  rJ ‚t        g d¢g d¢g d¢g«      }t	        |«      t	        t        dd«      «      k(  sJ ‚d|d	<   d	|j                  vsJ ‚t        g d¢g d¢g«      Št        d
dgddgddgg«      }‰|z  t        ddgddgg«      k(  sJ ‚| |z  || z  cxk(  r|k(  sJ ‚ J ‚t        j                  t        ˆ
fd„«       g d¢g d¢g d¢g}t        |«      }|j                  «       |k(  sJ ‚|t        t        |«      «      k(  sJ ‚t        j                  |«      }|t        t        |«      «      k(  sJ ‚|dz  t        t        |dz  «      «      k(  sJ ‚|dz  d|z  cxk(  r|k(  sJ ‚ J ‚‰
j                  dk(  sJ ‚‰
j                  dk(  sJ ‚d|_        d|_        t        |j                  «      dk(  sJ ‚‰‰z   d‰z  k(  sJ ‚t        j                  t        ˆ
ˆfd„«       t        | | z
  «      dk(  sJ ‚t        ddgddgdd
gddgg«      Št        ddg«      }‰|z  t        g d¢«      k(  sJ ‚t!        d«      }t        |dz   dt#        d«      z
  z
  «      dk(  sJ ‚dt!        d«      z   dz  dz
  t#        d«      k(  sJ ‚t        d«      dz  t        d«      k(  sJ ‚t        j                  t        ˆfd„«       t%        d«      }t        |«      }	d|d<   ||	k7  sJ ‚t'        |«      sJ ‚y ) Né   é   é   ©r   r   r   ©é   é   é   ©é   é   é	   é
   r   )r   r   r   éÿÿÿÿéýÿÿÿé   iúÿÿÿé'   éôÿÿÿc                  ó   •— ‰ ‰ z  S ©N© )ÚA2s   €úX/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/mpmath/tests/test_matrices.pyú<lambda>z#test_matrix_basic.<locals>.<lambda>   s   ø€  b¨¡e€ ó    )r   é   é   )é(   r   é<   )éF   éP   éZ   y              ð?c                  ó   •— ‰‰ z   S r   r   )r   ÚA4s   €€r   r   z#test_matrix_basic.<locals>.<lambda>$   s   ø€  b¨2¡g€ r   r
   r   r   r   éöÿÿÿ)r'   r'   r'   r'   c                  ó   •— ‰ dz  S )Nr   r   )ÚA7s   €r   r   z#test_matrix_basic.<locals>.<lambda>-   s   ø€  b¨!¡e€ r   iœÿÿÿ©r   r   )ÚmatrixÚrangeÚeyeÚ_matrix__dataÚlistÚpytestÚraisesÚ
ValueErrorÚtolistÚevalÚreprÚfpÚrowsÚcolsÚlenÚsumÚonesÚzerosÚ
randmatrixÚnstr)ÚA1ÚiÚA3ÚA5ÚlÚA6ÚxÚA8ÚA9ÚA10r   r&   r)   s             @@@r   Útest_matrix_basicrI      sG  ú€ Ü	�‹€BÜ�1‹Xò ˆØˆˆ1ˆQˆ3Šðà”�Q“Š<Ðˆ<Ø”˜“ÒÐÐÜ	��1‹€BØ×ÒÐÐÜ	’šI¢yÐ1Ó	2€BÜ�‹8”tœE ! R›LÓ)Ò)Ð)Ð)Ø€B€s�GØ˜×)Ñ)Ñ)Ð)Ð)Ü	’šIÐ&Ó	'€BÜ	�!�R�˜1˜a˜& 1 b 'Ð*Ó	+€BØ�‰7”f˜r 2˜h¨¨S¨	Ð2Ó3Ò3Ð3Ð3Ø�‰7�b˜2‘gÔ# Ò#Ð#Ñ#Ð#Ð#Ü
‡M�M”*›mÔ,Ú	’{¢LÐ1€AÜ	�‹€BØ�9‰9‹;˜!ÒÐÐØ””d˜2“h“ÒÐÐÜ	�‰�2‹€BØ””d˜2“h“ÒÐÐØˆb‰5”Dœ˜b ™e›Ó%Ò%Ð%Ð%Ø�‰7�b˜2‘gÔ# Ò#Ð#Ñ#Ð#Ð#Ø�7‰7�aŠ<Ðˆ<Ø�7‰7�aŠ<Ðˆ<Ø€B„GØ€B„GÜˆr×ÑÓ  AÒ%Ð%Ð%Ø�‰7�a˜‘dŠ?Ðˆ?Ü
‡M�M”*œoÔ.Üˆr�B‰w‹<˜1ÒÐÐÜ	�!�Q�˜!˜Q˜ ! Q ¨!¨Q¨Ð0Ó	1€BÜ��CˆyÓ€AØˆa‰4”6Ò.Ó/Ò/Ð/Ð/Ü	ˆa‹€BÜ��Q‘˜1œu Q›x™<Ñ(Ó)¨QÒ.Ð.Ð.Ø”�Q“‰K˜1Ñ˜qÑ ¤E¨!£HÒ,Ð,Ð,Üˆq‹6�2‰:œ˜Q›ÒÐÐÜ
‡M�M”*›mÔ,Ü	�A‹€BÜ
�‹*€CØ€B€s�GØ�Š9Ðˆ9Ü�Œ8€O‰8r   c                  ó´   — t         j                  dk  rt        j                  d«       t	        g d¢g d¢g«      } t	        ddgddgd	d
gg«      }t        d«       y)z°
    Test the PEP465 "@" matrix multiplication syntax.
    To avoid syntax errors when importing this file in Python 3.5 and below, we have to use exec() - sorry for that.
    ið z9'@' (__matmul__) is only supported in Python 3.5 or newerr   r	   r   r   r   r   r   r   zassert A4 @ A5 == A4 * A5N)ÚsysÚ
hexversionr0   Úskipr+   Úexec)r&   rB   s     r   Útest_matmulrO   4   sR   € ô ‡~�~˜	Ò!ä�‰ÐOÔPÜ	’šIÐ&Ó	'€BÜ	�!�R�˜1˜a˜& 1 b 'Ð*Ó	+€BÜÐ	$Õ%r   c                  ó¬  ‡— t        g d¢g d¢g d¢g«      Št        g d¢«      } ‰d d …d d …f   ‰k(  sJ ‚‰d d …df   t        dgdgdgg«      k(  sJ ‚‰dd d …f   t        g d¢g«      k(  sJ ‚‰dd	…dd	…f   t        dd
gddgg«      k(  sJ ‚| dd t        d	dg«      k(  sJ ‚t        j                  t        ˆfd„«       t        d	«      }‰|d d …d d …f<   |d d …d d …f   t        g d¢g d¢g d¢g«      k(  sJ ‚t        g d¢g«      |dd d …f<   |t        g d¢g d¢g d¢g«      k(  sJ ‚t        dgdgdgg«      |d d …df<   |t        g d¢g d¢g d¢g«      k(  sJ ‚t        ddgddgg«      |d d…d d…f<   |t        g d¢g d¢g d¢g«      k(  sJ ‚d| dd	 | t        g d¢«      k(  sJ ‚t        j                  t        «      5  ‰d d …df   |dd d …f<   d d d «       t        j                  t        «      5  ‰d d …d d …f   |ddd…f<   d d d «       d|d d …df<   |t        g d¢g d ¢g d!¢g«      k(  sJ ‚d"|d d …d d …f<   |D ]	  }|d"k(  rŒ	J ‚ y # 1 sw Y   ŒyxY w# 1 sw Y   ŒQxY w)#Nr   r	   r   )r   r   r   r
   r   r   r   r   r   r   r   r   r
   c                  ó   •— ‰ d d …dd…f   S )Nr   r   r   ©ÚAs   €r   r   z$test_matrix_slices.<locals>.<lambda>M   s   ø€  aª¨!¨A¨#¨¡h€ r   )r   é   r   r   é   é   é   )r   rT   rU   )r
   r   rV   )r   r   rW   é   é   é   é   )rX   rY   rU   )rZ   r[   rV   r   )r   r   r   r
   r   r   )rX   rY   r   )rZ   r[   r   )r   r   r   r    )r+   r0   r1   Ú
IndexErrorr2   )ÚVr?   rE   rS   s      @r   Útest_matrix_slicesr^   A   sâ  ø€ Ü’IÚ!Ú!ð#ó 	$€Aô 	Š{Ó€Að ŠQŠqˆS‰6�QŠ;Ðˆ;ØŠQˆqˆS‰6”V˜a˜S !  a S˜MÓ*Ò*Ð*Ð*ØˆQŠqˆS‰6”VšY˜KÓ(Ò(Ð(Ð(ØˆQˆqˆS��1�ˆW‰:œ ! A ¨¨! u Ó.Ò.Ð.Ð.ØˆQˆqˆ6”V˜Q˜q˜E“]Ò"Ð"Ð"Ü
‡M�M”*Ó.Ô/ô 
�‹€BØ€B‚qŠ€s�GØŠa’ˆc‰7”fšiÚ(1Ú(1ð3ó 4ò 4ð 4ð 4ô ’l�^Ó$€B€qŠ€s�GØ”š,Ú$-Ú$-ð/ó 0ò 0ð 0ð 0ô �r�d˜R˜D 2 $Ð'Ó(€B‚qˆ€s�GØ”š,Ú$.Ú$.ð0ó 1ò 1ð 1ð 1ô ˜˜R˜ 2¨ )Ð,Ó-€B€rˆ€rˆ"ˆ1ˆ"€u�IØ”š,Ú$0Ú$.ð0ó 1ò 1ð 1ð 1ð €A€aˆ€FØ”’}Ó%Ò%Ð%Ð%Ü	�‰”zÓ	"ñ Ø’A�a�C‘&ˆˆ1ŠQˆ3‰÷ô 
�‰”zÓ	"ñ Ø’qš�s‘Vˆˆ1ˆQˆrˆTˆ6‰
÷ð €B‚qˆ€s�GØ”š,Ú$0Ú$.ð0ó 1ò 1ð 1ð 1ð €B‚qŠ€s�GØò ˆØ�B‹wˆˆwñ÷ð ú÷ð ús   Æ5H>Ç'I
È>IÉ
Ic                  ó²   — t        ddgddgg«      } | dz  | | z  k(  sJ ‚| dz  | | z  | z  k(  sJ ‚| dz  t        | «      k(  sJ ‚| dz  t        | | z  «      k(  sJ ‚y )Nr   r   r   r
   r   éþÿÿÿ)r+   ÚinverserR   s    r   Útest_matrix_powerrb   s   su   € Ü��A�˜˜A˜ÐÓ €AØˆa‰4�1�Q‘3Š;Ðˆ;Øˆa‰4�1�Q‘3�q‘5Š=Ðˆ=Øˆb‰5”G˜A“JÒÐÐØˆb‰5”G˜A˜a™C“LÒ Ð Ñ r   c                  óv  — t        ddgddgddgg«      } | j                  | j                  «       cxk(  rt        g d¢g d¢g«      k(  sJ ‚ J ‚t        | dd«       | t        ddgddgddgg«      k(  sJ ‚ddg}t        |d	d«       |ddgk(  sJ ‚t	        t        d«      g d
¢«      t        g d¢g d¢g d¢g«      k(  sJ ‚y )Nr   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+   ÚTÚ	transposeÚswap_rowÚextendr-   )rS   rC   s     r   Útest_matrix_transformrh   z   sÈ   € Ü��A�˜˜A˜  A Ð'Ó(€AØ�3‰3�!—+‘+“-ÔA¤6ª9²iÐ*@Ó#AÒAÐAÑAÐAÐAÜˆQ��1ÔØ”˜˜A˜  A ¨¨A¨Ð/Ó0Ò0Ð0Ð0Ø	
ˆAˆ€AÜˆQ��1ÔØ��A�Š;Ðˆ;Ü”#�a“&š'Ó"¤fªiº	Â)Ð-LÓ&MÒMÐMÑMr   c            	      óB  — t        dt        z   dgdt        gg«      } | j                  «       t        t        dd«      dgdt        dd«      gg«      k(  sJ ‚| j	                  «       | j
                  cxk(  r)t        t        dd«      dgdt        dd«      gg«      k(  sJ ‚ J ‚y )Nr   r   r   r   )r+   ÚjÚ	conjugateÚmpcÚtranspose_conjÚHrR   s    r   Útest_matrix_conjugatero   „   s¬   € Ü�”Q‘˜�
˜Q¤˜FÐ#Ó$€AØ�;‰;‹=œF¤S¨¨B£Z° O°a¼¸QÀ»°_Ð#EÓFÒFÐFÐFØ×ÑÓ §¡ô B¬´°Q¸³¸Q°Ø12´C¸¸2³J°ð0Aó )Bò Bð Bñ Bð Bñ Br   c            	      óö  — t        g d¢«      t        g d¢g d¢g d¢g«      k(  sJ ‚t        dd«      } | j                  dk(  r| j                  dk(  sJ ‚| D ]	  }|dk(  rŒ	J ‚ t        dd«      }|j                  dk(  r|j                  dk(  sJ ‚|D ]	  }|dk(  rŒ	J ‚ t        d	«      t        d	«      k7  sJ ‚t        d«      }t        d«      t        ||dz  |dz  g|dz  |dz  |d
z  g|dz  |d
z  |dz  gg«      k(  sJ ‚y )Nr   )r   r   r   )r   r   r   )r   r   r   r   r   r   r   r   r
   r   )	Údiagr+   r;   r7   r8   r<   r=   ÚmpfÚhilbert)r?   Úar   Úones       r   Útest_matrix_creationrv   Š   s  € Ü’	‹?œf¢i²ºIÐ%FÓGÒGÐGÐGÜ	ˆa�‹€BØ�7‰7�aŠ<˜BŸG™G qšLÐ(Ð(Øò ˆØ�A‹vˆˆvðä	ˆq�!‹€BØ�7‰7�aŠ<˜BŸG™G qšLÐ(Ð(Øò ˆØ�A‹vˆˆvðä�b‹>œZ¨›^Ò+Ð+Ð+Ü
ˆa‹&€CÜ�1‹:œ # s¨1¡u¨c°!©eÐ!4Ø"% a¡%¨¨Q©°°A±Ð!6Ø"% a¡%¨¨Q©°°A±Ð!6ð!8ó 9ò 9ð 9ñ 9r   c                  óŒ  — t        ddgddgddgg«      } t        | d«      dk(  sJ ‚t        | t        «      dk(  sJ ‚t        | d«      t        d	«      k(  sJ ‚t	        d«      d
k(  sJ ‚g d¢}t	        |d«      dk(  sJ ‚t        t	        |d«      d«      dk(  sJ ‚t        t	        |d«      d«      dk(  sJ ‚t	        |t        «      dk(  sJ ‚y )Nr   r`   r   r   r   r   r
   ÚFr   r   )r   r`   r   r   é   r   gPÃþ…z$,@g%^Ì(@r   )r+   ÚmnormÚinfÚsqrtÚnormÚround)rS   rE   s     r   Ú
test_normsr   š   sÐ   € ä��B�˜"˜b˜ A q 6Ð*Ó+€AÜ��1‹:˜Š?Ðˆ?Ü�”3‹<˜1ÒÐÐÜ��3‹<œ4 ›8Ò#Ð#Ð#ä�‹8�qŠ=Ðˆ=Ú€AÜ��1‹:˜ÒÐÐÜ”�a˜“˜RÓ  MÒ1Ð1Ð1Ü”�a˜“˜bÓ! ]Ò2Ð2Ð2Ü�”3‹<˜2ÒÐÑr   c                  óœ  — t        g d¢«      } | t        dgdgdgdgdgg«      k(  sJ ‚| d   dk(  sJ ‚t        | j                  «      dk(  sJ ‚t        | «      t        t	        d«      «      k(  sJ ‚d| d<   d| d<   | d   dk(  sJ ‚t        | «      t        | j
                  «      cxk(  rdk(  sJ ‚ J ‚| j
                  | z  t        d	gg«      k(  sJ ‚y )
N)r   r   r   r   r
   r   r   r   r   r
   r   r'   ér   )r+   r9   r.   r/   r,   rd   )rE   s    r   Útest_vectorr‚   ¨   sÚ   € ÜŠÓ€AØ”˜˜˜a˜S 1 #¨ s¨Q¨CÐ0Ó1Ò1Ð1Ð1ØˆQ‰4�1Š9Ðˆ9Üˆq�‰Ó 1Ò$Ð$Ð$Ü�‹7”dœ5 ›8“nÒ$Ð$Ð$Ø€A€a�DØ€A€a�DØˆQ‰4�3Š;Ðˆ;Üˆq‹6”S˜Ÿ™“XÔ" Ò"Ð"Ñ"Ð"Ð"Ø�3‰3ˆq‰5”F˜S˜E˜7“OÒ#Ð#Ñ#r   c                  óŒ   — t        d«      } | j                  «       }| ­}| |k(  sJ ‚| |k(  sJ ‚d|d<   | |k7  sJ ‚d|d<   | |k7  sJ ‚y )Nr   r   r*   é*   )r;   Úcopy)rS   ÚBÚCs      r   Útest_matrix_copyrˆ   ´   s[   € ÜˆQ‹€AØ	�‰‹€AØ	
ˆ€AØ�Š6€Mˆ6Ø�Š6€Mˆ6Ø€A€c�FØ�Š6€Mˆ6Ø€A€c�FØ�Š6€M‰6r   c                  ó–   — 	 dd l } ddgddgddgg}| j                  |«      }t        |«      t        |«      k(  sJ ‚y # t        $ r Y y w xY w)Nr   r   r   r   r
   r   r   )ÚnumpyÚImportErrorÚarrayr+   )rŠ   rC   rt   s      r   Útest_matrix_numpyr�   ¿   s[   € ðÛð ˆQˆ�!�Q�˜!˜Q˜Ð €AØ�‰�A‹€AÜ�!‹9œ˜q›	Ò!Ð!Ñ!øô	 ò Ùðús   ‚< ¼	AÁAc                  óz  — t        dd«      } | | dz  z   }t        d«      }||dz  z   }d}t        j                  |«      }||dz  z   }t        j                  |«      }t        j                  d«      }| |||||||fD ]>  }	|	|z  t        j                  |	g«      k(  sJ ‚||	z  t        j                  |	g«      k(  rŒ>J ‚ y)z/Multiplication of iv.matrix and any scalar typer   r   y               @r„   gX9´Èv¾ó?y              @N)Úmpirr   r6   ÚconvertÚivr;   r+   )
rt   ÚbÚcÚdÚeÚfÚgÚhÚMrE   s
             r   Ú test_interval_matrix_scalar_multrš   È   sÁ   € äˆB�‹
€AØ	ˆA�‰F‰
€AÜˆB‹€AØ	ˆA�‰F‰
€AØ€AÜ
�
‰
�1‹€AØ	ˆA�‰F‰
€AÜ
�
‰
�1‹€AÜ
�‰�‹
€AØ��A�q˜!˜Q  1Ð%ò 'ˆØ�1‰uœŸ	™	 1 #›Ò&Ð&Ð&Ø�1‰uœŸ	™	 1 #›Ó&Ð&Ð&ñ'r   c                  ó  — t        d«      } t        j                  d«      }t        j                  d«      }| ||fD ]P  }||z  t        j                  |«      k(  sJ ‚||z  |k(  sJ ‚||z  t        j                  |«      k(  sJ ‚||z  |k(  rŒPJ ‚ y)z2Multiplication of iv.matrix and other matrix typesr   N)r;   r6   r‘   r+   )rS   r†   r™   ÚXs       r   Ú test_interval_matrix_matrix_multr�   ×   s�   € ô 	ˆQ‹€AÜ
�‰�‹
€AÜ
�‰�‹
€AØ��AˆYò ˆØ�1‰uœŸ	™	 !›Ò$Ð$Ð$Ø�1‰u˜ŠzÐˆzØ�1‰uœŸ	™	 !›Ò$Ð$Ð$Ø�1‰u˜‹zÐˆzñ	r   c                  óN  — t        d«      t        j                  d«      t        j                  d«      fD ]n  } t        j                  | «      }t        j                  d«      }t	        |d   «      t	        |d   «      k(  sJ ‚|j                  «       |j                  «       k(  rŒnJ ‚ y )Nr   r*   )r-   r6   r‘   r+   Útyper3   )Úother_type_eyerS   r†   s      r   Útest_matrix_conversion_to_ivr¡   ã   s   € ä˜q›6¤2§6¡6¨!£9¬b¯f©f°Q«iÐ8ò (ˆÜ�I‰I�nÓ%ˆÜ�F‰F�1‹IˆÜ�A�c‘F‹|œt A c¡F›|Ò+Ð+Ð+Ø�x‰x‹z˜QŸX™X›ZÓ'Ð'Ð'ñ	(r   c            	      óî  — t        d«      } t        | gg«      }t        j                  |«      }t        j                  | gg«      }||k(  sJ ‚||z  }||z  }||k(  sJ ‚|d   j                  dkD  sJ ‚|d   j                  dk  sJ ‚|d   j                  dkD  sJ ‚|d   j                  dk  sJ ‚t        j                  d«      |d   v sJ ‚t        j                  d«      |d   v sJ ‚t        j                  t        j                  d«      «      t        j                  d«      t        dd«      z   z  t        j                  t        dd«      t        dd«      gt        dd«      t        dd«      gg«      k(  sJ ‚y )	Nz1.00000000000001r*   g¼‰Ø—²Òœ<gMgâñžµ<z:1.00000000000001998401444325291756783368705994138804689654r   r   r   )	r�   r+   r‘   ÚdeltaÚmprr   r-   r;   r�   )rE   rS   r†   r‡   s       r   Útest_interval_matrix_mult_bugr¥   ë   sm  € ô 	Ð"Ó#€AÜ��ˆu‹€AÜ
�	‰	�!‹€AÜ
�	‰	�A�3�%Ó€AØ�Š6€Mˆ6Ø	ˆA‰€AØ	ˆA‰€AØ�Š6€Mˆ6ØˆT‰7�=‰=˜5Ò Ð Ð ØˆT‰7�=‰=˜5Ò Ð Ð ØˆT‰7�=‰=˜5Ò Ð Ð ØˆT‰7�=‰=˜5Ò Ð Ð Ü�6‰6ÐNÓOÐSTÐUYÑSZÑZÐZÐZÜ�6‰6ÐNÓOÐSTÐUYÑSZÑZÐZÐZä�9‰9”R—V‘V˜A“YÓ¤2§7¡7¨1£:´°A°q³	Ñ#9Ñ:¼b¿i¹iÌ#ÈaÐQRË)ÔUXÐYZÐ\]ÓU^ÐI_ÔbeÐfgÐijÓbkÔmpÐqrÐtuÓmvÐawÐHxÓ>yÒyÐyÑyr   )r0   rK   ÚmpmathrI   rO   r^   rb   rh   ro   rv   r   r‚   rˆ   r�   rš   ÚmarkÚxfailr�   r¡   r¥   r   r   r   ú<module>r©      sz   ðÛ Û 
Ü ò-ò^&ò/òd!òNòBò9ò ò
$ò	ò"ò'ð ‡�×ÑÓñ	ó ð	ò(ózr   