ó
    Eñi  ã                  ó&  • S SK Jr  S SKrS SKrS SKJr  S SKrSSKJrJ	r	  SSK
JrJrJr  \(       a  S SKJr   " S S	\5      rS
 rS rS r\\S"S j5       5       r\\SS.S#S jj5       5       r\\S$S j5       5       r\\S%S$S jj5       5       r\\S"S j5       5       r\\S&S"S jj5       5       r\\S%S$S jj5       5       r\\S'S"S jj5       5       r\\S"S j5       5       r\\S"S j5       5       r\\S%S(S jj5       5       r\\S)S"S jj5       5       r \\S*S+S jj5       5       r!\\S"S j5       5       r"\\S,S"S jj5       5       r#\\S-S"S jj5       5       r$\\S"S j5       5       r%\\S.S"S jj5       5       r&\\S"S  j5       5       r'\\S.S"S! jj5       5       r(g)/é    )ÚannotationsN)ÚTYPE_CHECKINGé   )Ú_dtypes_implÚ_util)Ú	ArrayLikeÚKeepDimsÚ
normalizer)ÚSequencec                  ó   • \ rS rSrSrg)ÚLinAlgErroré   © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__static_attributes__r   ó    ÚP/home/mande/repo/quber/.venv/lib/python3.13/site-packages/torch/_numpy/linalg.pyr   r      s   † Úr   r   c                óÎ   • U R                   R                  (       dI  U R                   R                  (       d.  U R                  [        R
                  " 5       R                  5      n U $ ©N)ÚdtypeÚis_floating_pointÚ
is_complexÚtor   Údefault_dtypesÚfloat_dtype©Úas    r   Ú_atleast_float_1r!      s=   € Ø�G‰G×%×%¨¯©×);×);Ø�D‰D”×,Ò,Ó.×:Ñ:Ó;ˆØ€Hr   c                ó  • [         R                  " X5      nUR                  (       d0  UR                  (       d  [         R                  " 5       R
                  n[        R                  " X5      n [        R                  " X5      nX4$ r   )r   Úresult_type_implr   r   r   r   r   Úcast_if_needed)r    ÚbÚdtyps      r   Ú_atleast_float_2r'      s\   € Ü×(Ò(¨Ó.€DØ×"×" d§o§oÜ×*Ò*Ó,×8Ñ8ˆä×Ò˜QÓ%€AÜ×Ò˜QÓ%€AØˆ4€Kr   c                óF   ^ • [         R                  " T 5      U 4S j5       nU$ )Nc                 ó†   >•  T" U 0 UD6$ ! [         R                  R                   a  n[        UR                  6 eS nAff = fr   )ÚtorchÚ_CÚ_LinAlgErrorr   Úargs)r-   ÚkwdsÚeÚfuncs      €r   ÚwrappedÚlinalg_errors.<locals>.wrapped(   sA   ø€ ð	'Ù˜Ð& Ñ&Ð&øÜ�x‰x×$Ñ$ó 	'Ü˜qŸv™vÐ&Ð&ûð	'ús   ƒ ‹A ©;»A )Ú	functoolsÚwraps)r0   r1   s   ` r   Úlinalg_errorsr5   '   s%   ø€ Ü‡_‚_�TÓô'ó ð'ð €Nr   c                óV   • [        U 5      n [        R                  R                  X5      $ r   )r!   r*   ÚlinalgÚmatrix_power)r    Úns     r   r8   r8   5   s#   € ô 	˜Ó€AÜ�<‰<×$Ñ$ QÓ*Ð*r   )Úoutc               ó@   • [         R                  R                  U 5      $ r   )r*   r7   Ú	multi_dot)Úinputsr:   s     r   r<   r<   <   s   € ô �<‰<×!Ñ! &Ó)Ð)r   c                óZ   • [        X5      u  p[        R                  R                  X5      $ r   )r'   r*   r7   Úsolve)r    r%   s     r   r?   r?   E   s%   € ô ˜AÓ!�D€AÜ�<‰<×Ñ˜aÓ#Ð#r   c                ó¤   • [        X5      u  pU R                  (       d  UR                  (       a  SOSn[        R                  R	                  XX#S9$ )NÚgelsÚgelsd)ÚrcondÚdriver)r'   Úis_cudar*   r7   Úlstsq)r    r%   rC   rD   s       r   rF   rF   L   s?   € ô ˜AÓ!�D€Að —y—y A§I§I‰V°7€FÜ�<‰<×Ñ˜a¨%ÐÐ?Ð?r   c                óZ   • [        U 5      n [        R                  R                  U 5      nU$ r   )r!   r*   r7   Úinv©r    Úresults     r   rH   rH   V   s'   € ô 	˜Ó€AÜ�\‰\×Ñ˜aÓ €FØ€Mr   c                óT   • [        U 5      n [        R                  R                  XUS9$ )N)ÚrtolÚ	hermitian)r!   r*   r7   Úpinv)r    rC   rM   s      r   rN   rN   ^   s(   € ô 	˜Ó€AÜ�<‰<×Ñ˜Q°iÐÐ@Ð@r   c                óX   • [        X5      u  p[        R                  R                  XUS9$ )N)Údims)r'   r*   r7   Útensorsolve)r    r%   Úaxess      r   rQ   rQ   e   s*   € ô ˜AÓ!�D€AÜ�<‰<×#Ñ# A¨tÐ#Ð4Ð4r   c                óR   • [        U 5      n [        R                  R                  XS9$ )N)Úind)r!   r*   r7   Ú	tensorinv)r    rT   s     r   rU   rU   l   s&   € ô 	˜Ó€AÜ�<‰<×!Ñ! !Ð!Ð-Ð-r   c                óV   • [        U 5      n [        R                  R                  U 5      $ r   )r!   r*   r7   Údetr   s    r   rW   rW   v   s#   € ô 	˜Ó€AÜ�<‰<×Ñ˜AÓÐr   c                óV   • [        U 5      n [        R                  R                  U 5      $ r   )r!   r*   r7   Úslogdetr   s    r   rY   rY   }   s#   € ô 	˜Ó€AÜ�<‰<×Ñ Ó"Ð"r   c                óH  • [        U 5      n U R                  5       S:X  a2  [        R                  " U R                  SS  5      S:X  a  [        S5      e[        R                  R                  XS9n[        R                  " [        R                  " U5      [        S5      U5      $ )Nr   éþÿÿÿz#cond is not defined on empty arrays)ÚpÚinf)r!   ÚnumelÚmathÚprodÚshaper   r*   r7   ÚcondÚwhereÚisnanÚfloat)Úxr\   rJ   s      r   rb   rb   „   s|   € ô 	˜Ó€Að 	‡w�wƒy�Aƒ~œ$Ÿ)š) A§G¡G¨B¨C LÓ1°QÓ6ÜÐ?Ó@Ð@ä�\‰\×Ñ˜qÐÐ&€Fô
 �;Š;”u—{’{ 6Ó*¬E°%«L¸&ÓAÐAr   c                óD  • [        U 5      n U R                  S:  a  [        U S:g  R                  5       5      $ UcF  Sn[	        U R
                  SS  5      [        R                  " U R                  5      R                  -  nOUSpC[        R                  R                  XXBS9$ )Né   r   r[   )ÚatolrL   rM   )r!   ÚndimÚintÚanyÚmaxra   r*   Úfinfor   Úepsr7   Úmatrix_rank)r    ÚtolrM   ri   rL   s        r   rp   rp   –   s…   € ô 	˜Ó€Aà‡v�v�ƒzÜ�A˜‘F—<‘<“>Ó"Ð"à
�{àˆÜ�1—7‘7˜2˜3�<Ó ¤5§;¢;¨q¯w©wÓ#7×#;Ñ#;Ñ;‰à˜!ˆdÜ�<‰<×#Ñ# A°tÐ#ÐQÐQr   c                óT   • [        U 5      n [        R                  R                  XUS9$ )N)ÚordÚdim)r!   r*   r7   Únorm)rf   rs   ÚaxisÚkeepdimss       r   ru   ru   §   s(   € ô 	˜Ó€AÜ�<‰<×Ñ˜Q¨TÐÐ2Ð2r   c                óV   • [        U 5      n [        R                  R                  U 5      $ r   )r!   r*   r7   Úcholeskyr   s    r   ry   ry   ±   s#   € ô 	˜Ó€AÜ�<‰<× Ñ  Ó#Ð#r   c                óz   • [        U 5      n [        R                  R                  XS9nUS:X  a  UR                  nU$ )N)ÚmodeÚr)r!   r*   r7   ÚqrÚR)r    r{   rJ   s      r   r}   r}   ¸   s7   € ô 	˜Ó€AÜ�\‰\�_‰_˜Qˆ_Ð*€FØˆsƒ{à—‘ˆØ€Mr   c                ó¢   • [        U 5      n U(       d  [        R                  R                  U 5      $ [        R                  R	                  XS9nU$ )N)Úfull_matrices)r!   r*   r7   ÚsvdvalsÚsvd)r    r€   Ú
compute_uvrM   rJ   s        r   r‚   r‚   Ã   sD   € ô 	˜Ó€AÞÜ�|‰|×#Ñ# AÓ&Ð&ô �\‰\×Ñ˜aÐÐ=€FØ€Mr   c                ó(  • [        U 5      n [        R                  R                  U 5      u  pU R	                  5       (       dO  UR	                  5       (       a:  UR
                  S:H  R                  5       (       a  UR                  nUR                  nX4$ ©Nr   )r!   r*   r7   Úeigr   ÚimagÚallÚreal)r    ÚwÚvts      r   r†   r†   Ò   sh   € ô 	˜Ó€AÜ�L‰L×Ñ˜QÓ�E€Aà�<‰<�>‰>˜aŸl™lŸn™n°!·&±&¸A±+×1BÑ1B×1DÑ1DØ�F‰FˆØ�W‰WˆØˆ5€Lr   c                óR   • [        U 5      n [        R                  R                  XS9$ ©N)ÚUPLO)r!   r*   r7   Úeigh©r    rŽ   s     r   r�   r�   Þ   s&   € ô 	˜Ó€AÜ�<‰<×Ñ˜QÐÐ*Ð*r   c                ó
  • [        U 5      n [        R                  R                  U 5      nU R	                  5       (       dC  UR	                  5       (       a.  UR
                  S:H  R                  5       (       a  UR                  nU$ r…   )r!   r*   r7   Úeigvalsr   r‡   rˆ   r‰   rI   s     r   r’   r’   å   s`   € ô 	˜Ó€AÜ�\‰\×!Ñ! !Ó$€FØ�<‰<�>‰>˜f×/Ñ/×1Ñ1°v·{±{ÀaÑ7G×6LÑ6L×6NÑ6NØ—‘ˆØ€Mr   c                óR   • [        U 5      n [        R                  R                  XS9$ r�   )r!   r*   r7   Úeigvalshr�   s     r   r”   r”   ï   s&   € ô 	˜Ó€AÜ�<‰<× Ñ  Ð Ð.Ð.r   )r    r   )r=   zSequence[ArrayLike])r    r   r%   r   r   )gVçž¯Ò<F)rh   )rf   r   )NF)NNF)rf   r   rw   r	   )Úreduced)TTF)ÚL))Ú
__future__r   r3   r_   Útypingr   r*   Ú r   r   Ú_normalizationsr   r	   r
   Úcollections.abcr   Ú	Exceptionr   r!   r'   r5   r8   r<   r?   rF   rH   rN   rQ   rU   rW   rY   rb   rp   ru   ry   r}   r‚   r†   r�   r’   r”   r   r   r   Ú<module>r�      s}  ðõ #ã Û Ý  ã ç !ß <Ñ <ö Ý(ô	�)ô 	òòòð Øó+ó ó ð+ð
 ØØ26ö *ó ó ð*ð Øó$ó ó ð$ð
 Øõ@ó ó ð@ð Øóó ó ðð ØõAó ó ðAð
 Øõ5ó ó ð5ð
 Øõ.ó ó ð.ð Øóó ó ðð
 Øó#ó ó ð#ð
 ØõBó ó ðBð  ØõRó ó ðRð Øõ3ó ó ð3ð Øó$ó ó ð$ð
 Øõó ó ðð Øõó ó ðð Øóó ó ðð Øõ+ó ó ð+ð
 Øóó ó ðð Øõ/ó ó ñ/r   