Ë
    0Ò^j  ã                   ó
  — d dl Z d dlZd dlZd dlmZ d dlmZ d dlm	Z	 d dl
mZmZ ej                  dej                  dej                  dej                   diZd„ Zg Zej)                  «       D ]Q  Zg Z ee«      rej.                  j0                  gZej3                   ej4                  eeej6                  ¬	«      «       ŒS  ee«      Zdd
„Zej.                  j=                  dej>                  eef«      ej.                  j=                  dej                  ej                  ej                  ej                   g«      ej.                  j=                  dd«      ej.                  j=                  dd«      d„ «       «       «       «       Z ej.                  jB                  ej.                  j=                  de«      ej.                  j=                  dd«      d„ «       «       «       Z"ej.                  j=                  dd«      ej.                  j=                  dedd «      d„ «       «       Z#ej.                  j0                  ej.                  jI                  «       d„ «       «       Z%ej.                  j=                  dddg«      ej.                  j=                  dej                  ej                  f«      d„ «       «       Z&ej.                  j=                  dej                  ej                  ej                  ej                   f«      d„ «       Z'y)é    N)Úassert_allclose)Úraises)Ú_svdp)Ú	csr_arrayÚ	csc_arrayg-Cëâ6?g:Œ0âŽyE>c                 óF   — t        j                  | «      j                  dk(  S )NÚc)ÚnpÚdtypeÚkind©r   s    úq/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/scipy/sparse/linalg/tests/test_propack.pyÚis_complex_typer      s   € Ü�8‰8�E‹?×Ñ 3Ñ&Ð&ó    )ÚmarksÚidc	                 óT  — t         |   }	|€t        j                  j                  d«      }t        j                  j                  d«      }
t	        |«      rEdd|
j                  | |g¬«      z  z   dz
  d|
j                  | |g¬«      z  z   j                  |«      }n)dd|
j                  | |g¬«      z  z   j                  |«      }d||j                  d|z  dz
  kD  <    ||«      }t        j                  j                  |d¬	«      \  }}}t        |||||	|¬
«      \  }}}}|j                  «       dk(  rDt        j                  ||d«      }t        j                  ||d«      }t        j                  ||«      }t        |d | ||	|	¬«       t        t        j                  |j                  «       j                   |z  «      t        j"                  | |«      |	|	¬«       t        t        j                  |j                  «       |j                   z  «      t        j"                  | |«      |	|	¬«       y )Nr   éûÿÿÿé
   ©Úsizey              @y              $@é   F©Úfull_matrices)ÚkÚwhichÚirl_modeÚtolÚrngÚSMé   )ÚrtolÚatol)ÚTOLSr
   ÚrandomÚdefault_rngr   ÚuniformÚastypeÚrealÚlinalgÚsvdr   ÚupperÚrollr   ÚabsÚconjÚTÚeye)ÚnÚmÚconstructorr   r   r   r   Úfr   r   Úrng2ÚMÚMspÚu1Úsigma1Úvt1Úu2Úsigma2Úvt2Ú_s                       r   Ú
check_svdpr@   %   s×  € Ü
ˆu‰+€Cà
€{Ü�i‰i×#Ñ# AÓ&ˆô �9‰9× Ñ  Ó#€DÜ�uÔØ�2˜Ÿ™¨1¨a¨&˜Ó1Ñ1Ñ1ØñØ˜$Ÿ,™,¨Q°¨F˜,Ó3Ñ3ñ4ß5;±V¸E³]ñ 	
ð �"�t—|‘|¨!¨Q¨�|Ó0Ñ0Ñ0×8Ñ8¸Ó?ˆØ€A€a‡f�fˆr�A‰v˜‰zÑÑÙ
�a‹.€Cä—i‘i—m‘m A°U�mÓ;�O€Bˆ�Ü˜s a¨e¸hØ#&¨Cô1Ñ€Bˆ��Qð ‡{�{ƒ}˜ÒÜ�W‰W�R˜˜AÓˆÜ�g‰g�c˜1˜aÓ ˆÜ—‘˜ Ó#ˆô �F˜2˜A�J ¨S°sÕ;ô ”B—F‘F˜2Ÿ7™7›9Ÿ;™;¨Ñ+Ó,¬b¯f©f°Q¸«lÀÈ3ÕOÜ”B—F‘F˜3Ÿ8™8›:¨¯©Ñ-Ó.´·±°q¸!³À3ÈSÖQr   Úctorr   Úirl)TFr   )ÚLMr    c                 óú   — t         j                  j                  d«      }d\  }}}|dk(  r2|s0d}t        t        |¬«      5  t        ||| |||||¬«       d d d «       y t        ||| |||||¬«       y # 1 sw Y   y xY w)Nl   ¯ãWV{1 )r   é   é   r    z#`which`='SM' requires irl_mode=True)Úmatch)r   )r
   r%   r&   Úassert_raisesÚ
ValueErrorr@   )	rA   r   rB   r   r   r2   r3   r   Úmessages	            r   Ú	test_svdprK   G   s‰   € ô �)‰)×
Ñ
Ð 0Ó
1€CØ�G€A€qˆ!Ø�‚}™SØ7ˆÜœ:¨WÔ5ñ 	BÜ�q˜!˜T 5¨!¨S°%¸SÕA÷	Bð 	Bô 	�1�a˜˜u a¨¨e¸Ö=÷	Bð 	Bús   Á A1Á1A:)FTc                 óP  — t         j                  dt         j                  dt         j                  dt         j                  di|    }t
        j                  j                  t        «      }d}t
        j                  j                  ||«      }t        j                  |d¬«      5 }t        | «      r#|d   j                  «       j                  | «      }n"|d   j                  «       j                  | «      }d d d «       d	}t        ||t         j                  j!                  d
«      ¬«      \  }	}
}}t        | «      rdn|}|	d d …d |…f   }	|d |…d d …f   }|
d | }
t#        t        j$                  |	j&                  d   «      |	j)                  «       j*                  |	z  |¬«       t#        t        j$                  |j&                  d
   «      ||j)                  «       j*                  z  |¬«       t         j,                  j/                  |j1                  «       «      \  }}}|d d …d |…f   }|d | }|d |…d d …f   }|t        j2                  |«      z  |z  }|	t        j2                  |
«      z  |z  }t#        t         j,                  j5                  ||z
  «      d
|¬«       y # 1 sw Y   �ŒªxY w)NgCÅ8
!?g•Ö&è.>gü©ñÒMbP?zpropack_test_data.npzT)Úallow_pickleÚ	A_complexÚA_realéÈ   r   )r   r   é   r!   ©r#   )r
   Úfloat32Úfloat64Ú	complex64Ú
complex128ÚosÚpathÚdirnameÚ__file__ÚjoinÚloadr   Úitemr(   r   r%   r&   r   r1   Úshaper/   r0   r*   r+   ÚtodenseÚdiagÚnorm)r   rB   r#   Úpath_prefixÚrelative_pathÚfilenameÚdataÚAr   ÚuÚsÚvhr?   Úsv_checkÚu3Ús3Úvh3ÚA3Úrecons                      r   Útest_examplesrp   W   s.  € ô 	�
‰
�FÜ
�
‰
�DÜ
�‰�dÜ
�‰�tð	ð
 ñ€Dô —'‘'—/‘/¤(Ó+€Kð ,€MÜ�w‰w�|‰|˜K¨Ó7€HÜ	�‰�¨Ô	-ð 4°Ü˜5Ô!Ø�[Ñ!×&Ñ&Ó(×/Ñ/°Ó6‰Aà�X‘×#Ñ#Ó%×,Ñ,¨UÓ3ˆA÷	4ð 	€AÜ˜˜1 s´·	±	×0EÑ0EÀaÓ0HÔI�K€A€qˆ"ˆaô % UÔ+‰r°€HØ	Š!ˆYˆhˆYˆ,‰€AØ	ˆIˆXˆI’qˆLÑ	€BØ	ˆ)ˆ8ˆ€Aô ”B—F‘F˜1Ÿ7™7 1™:Ó&¨¯©«¯
©
°Q©¸TÕBÜ”B—F‘F˜2Ÿ8™8 A™;Ó'¨¨b¯g©g«i¯k©kÑ)9ÀÕEô —)‘)—-‘- §	¡	£Ó,�K€BˆˆCØ	ŠAˆy�ˆyˆLÑ	€BØ	ˆIˆXˆ€BØ
ˆiˆxˆišˆlÑ
€CØ	Œb�g‰g�b‹kÑ	˜CÑ	€BØ”—‘˜“
‰N˜RÑ€EÜ”B—I‘I—N‘N 2¨¡:Ó.°¸Ö=÷94ñ 4ús   Â"AJÊJ%Úshifts)Niöÿÿÿr   r!   r   éF   é   c           	      óX  — t         j                  j                  d«      }d\  }}|j                  ||f«      }| �Q| dk  s|t        |dz
  | z
  |«      kD  r7t	        j
                  t        «      5  t        ||| d|z  d|¬«       d d d «       y t        ||| d|z  d|¬«       y # 1 sw Y   y xY w)Nr   ©rr   r   r!   r   T)rq   Úkmaxr   r   )r
   r%   r&   ÚminÚpytestr   rI   r   )rq   r   r   r2   r   rf   s         r   Útest_shiftsry   ‰   s®   € ô �)‰)×
Ñ
 Ó
"€CØ�D€A€qØ�
‰
�A�q�6Ó€AØÐ ¨¢
°´C¸¸!¹¸F¹
ÀAÓ4FÒ0FÜ�]‰]œ:Ó&ñ 	IÜ�!�Q˜v¨A¨a©C¸$ÀCÕH÷	Ið 	Iô 	ˆa�˜6¨¨!©°dÀÖD÷	Ið 	Iús   Á-B Â B)c                  ó  — t         j                  j                  d«      } d\  }}| j                  ||f«      j                  t         j                  «      }t        ||d dd| ¬«      \  }}}}t        ||ddd| ¬«      \  }}	}
}t        ||	«       y )Nr   ru   r    T)rq   r   r   r   é    )r
   r%   r&   r(   rT   r   r   )r   r2   r   rf   r9   Ús1r;   r?   r<   Ús2r>   s              r   Útest_shifts_accuracyr~   –   s†   € ô �)‰)×
Ñ
 Ó
"€CØ�D€A€qØ�
‰
�A�q�6Ó×!Ñ!¤"§*¡*Ó-€AÜ˜1˜a¨°DÀ4ÈSÔQ�N€BˆˆC�Ü˜1˜a¨°$ÀÈ3ÔO�N€BˆˆC�ô �B˜Õr   r   FTc                 óÈ  — t         j                  j                  d«      }d\  }}t        j                  t	        |«      D ��cg c]$  }t	        |«      D �cg c]  }d||z   dz   z  ‘Œ c}‘Œ& c}}|¬«      }t         j
                  j                  |d¬«      \  }}	}
t        |dd| |¬	«      \  }}}}t        ||	t        |   ¬
«       t        t        j                  |j                  d   «      |j                  |z  t        |   ¬
«       t        t        j                  |j                  d   «      ||j                  z  t        |   ¬
«       t        t        j                  |j                  |z  «      t        j                  |«      t        |   ¬
«       t        t        j                  |
|j                  z  «      t        j                  |«      t        |   ¬
«       y c c}w c c}}w )Nl   maÒc{1 )rP   é   r!   r   Fr   r€   rC   ©r   r   r   r   rR   r   )r
   r%   r&   ÚarrayÚranger*   r+   r   r   r$   r1   r^   r0   r.   )r   r   r   r3   r2   ÚiÚjrf   ÚuuÚssÚvvrg   rh   Úvtr?   s                  r   Útest_thin_hilbertrŠ   £   sU  € ô �)‰)×
Ñ
Ð 0Ó
1€CØ�D€A€qô 	�‰¼uÀQ»x×H¸!¬E°!«HÖ5 q�1˜˜A™ ™	“?Ô5ÓHÐPUÔV€AÜ—‘—‘˜q°�Ó6�J€BˆˆBÜ˜˜Q d°XÀ3ÔG�K€A€qˆ"ˆaÜ�A�r¤ U¡Õ,ô ”B—F‘F˜1Ÿ7™7 1™:Ó&¨¯©¨a©´d¸5±kÕBÜ”B—F‘F˜2Ÿ8™8 A™;Ó'¨¨b¯d©d©¼¸e¹ÕEô ”B—F‘F˜2Ÿ4™4 !™8Ó$¤b§f¡f¨Q£i´d¸5±kÕBÜ”B—F‘F˜2 §¡™9Ó%¤r§v¡v¨a£y´t¸E±{ÖCùò 6ùÓHs   ÁG
ÁGÁ&G
ÇG
c                 ój  — t         j                  j                  d«      }d\  }}|j                  ||f¬«      j	                  | «      }| t         j
                  t         j                  fv r/| | d«      |j                  ||f¬«      j	                  | «      z  z  }t         j                  j                  |d¬«      \  }}}t        |ddd	|¬
«      \  }}	}
}t        |	|t        |    ¬«       t        t        j                  |j                  d   «      |j                  «       j                  |z  t        |    ¬«       t        t        j                  |
j                  d   «      |
|
j                  «       j                  z  t        |    ¬«       t        t        j                   |j                  «       j                  |z  «      t        j                  |«      t        |    ¬«       t        t        j                   ||
j                  «       j                  z  «      t        j                  |«      t        |    ¬«       y )Nl   Åd=¼{1 )rF   éd   r   y              ð?Fr   rF   rC   Tr�   rR   r!   r   )r
   r%   r&   r'   r(   rU   rV   r*   r+   r   r   r$   r1   r^   r/   r0   r.   )r   r   r3   r2   rf   r†   r‡   rˆ   rg   rh   r‰   r?   s               r   Útest_fat_randomr�   ¸   s‰  € ä
�)‰)×
Ñ
Ð 0Ó
1€CØ�D€A€qà�‰˜!˜Q˜ˆÓ ×'Ñ'¨Ó.€AØ”—‘œrŸ}™}Ð-Ñ-Ø	‰U�2‹Y˜Ÿ™¨1¨a¨&˜Ó1×8Ñ8¸Ó?Ñ?Ñ?ˆä—‘—‘˜q°�Ó6�J€BˆˆBÜ˜˜Q d°T¸sÔC�K€A€qˆ"ˆaÜ�A�r¤ U¡Õ,ô ”B—F‘F˜1Ÿ7™7 1™:Ó&¨¯©«¯
©
°Q©¼TÀ%¹[ÕIÜ”B—F‘F˜2Ÿ8™8 A™;Ó'¨¨b¯g©g«i¯k©kÑ)9ÄÀUÁÕLô ”B—F‘F˜2Ÿ7™7›9Ÿ;™;¨™?Ó+¬R¯V©V°A«Y¼TÀ%¹[ÕIÜ”B—F‘F˜2 §¡£	§¡Ñ+Ó,¬b¯f©f°Q«i¼dÀ5¹kÖJr   )gš™™™™™é?N)(rW   rx   Únumpyr
   Únumpy.testingr   r   rH   Úscipy.sparse.linalg._svdpr   Úscipy.sparser   r   rS   rT   rU   rV   r$   r   Ú_dtypesÚkeysÚdtype_flavourr   ÚmarkÚslowÚappendÚparamÚ__name__Útupler@   Úparametrizer‚   rK   Úxslowrp   ry   Úxfailr~   rŠ   r�   © r   r   ú<module>rŸ      s¹  ðÛ 	Û ã Ý )Ý *Ý +ß -ð
 ‡J�J�Ø‡J�J�Ø‡L�L�$Ø‡M�M�4ð	€ò'ð €Ø—Y‘Y“[ò <€MØ€EÙ�}Ô%Ø—‘×!Ñ!Ð"ˆØ‡N�N�<�6—<‘< °UØ#0×#9Ñ#9ô;õ <ð	<ñ �‹.€óRðD ‡�×Ñ˜ "§(¡(¨I°yÐ!AÓBØ‡�×Ñ˜ 2§:¡:¨r¯z©zØ#%§<¡<°·±ð#@ó Aà‡�×Ñ˜ Ó.Ø‡�×Ñ˜ ,Ó/ñ>ó 0ó /óAó Cð
>ð ‡�×ÑØ‡�×Ñ˜ 'Ó*Ø‡�×Ñ˜ Ó.ñ,>ó /ó +ó ð,>ð^ ‡�×Ñ˜Ð#<Ó=Ø‡�×Ñ˜ '¨"¨1 +Ó.ñEó /ó >ðEð ‡�×ÑØ‡�×ÑÓñó ó ðð ‡�×Ñ˜ e¨T ]Ó3Ø‡�×Ñ˜ 2§:¡:¨r¯z©zÐ":Ó;ñDó <ó 4ðDð& ‡�×Ñ˜ 2§:¡:¨r¯z©z¸2¿<¹<ÈÏÉÐ"WÓXñKó YñKr   