Ë
    P/æjÎ  ã                  óÌ  — d dl mZ d dlZd dlZd dlmZ d dlZddlmZm	Z	 ddl
mZmZmZ  G d„ de«      Zd	„ Zd
„ Zd„ Zeed!d„«       «       Zeeddœd"d„«       «       Zeed#d„«       «       Zeed$d#d„«       «       Zeed!d„«       «       Zeed%d!d„«       «       Zeed$d#d„«       «       Zeed&d!d„«       «       Zeed!d„«       «       Zeed!d„«       «       Zeed$d'd„«       «       Zeed(d!d„«       «       Zeed)d*d„«       «       Zeed!d„«       «       Z eed+d!d„«       «       Z!eed,d!d„«       «       Z"eed!d„«       «       Z#eed-d!d„«       «       Z$eed!d„«       «       Z%eed-d!d „«       «       Z&y).é    )ÚannotationsN)ÚSequenceé   )Ú_dtypes_implÚ_util)Ú	ArrayLikeÚKeepDimsÚ
normalizerc                  ó   — e Zd Zy)ÚLinAlgErrorN)Ú__name__Ú
__module__Ú__qualname__© ó    úV/root/repos/pocs/video-evals/.venv/lib/python3.12/site-packages/torch/_numpy/linalg.pyr   r      s   „ Ør   r   c                ó¸   — | j                   j                  sC| j                   j                  s-| j                  t	        j
                  «       j                  «      } | S ©N)ÚdtypeÚis_floating_pointÚ
is_complexÚtor   Údefault_dtypesÚfloat_dtype©Úas    r   Ú_atleast_float_1r      s=   € Ø�G‰G×%Ò%¨¯©×);Ò);Ø�D‰D”×,Ñ,Ó.×:Ñ:Ó;ˆØ€Hr   c                óú   — t        j                  | |«      }|j                  s*|j                  st        j                  «       j
                  }t        j                  | |«      } t        j                  ||«      }| |fS r   )r   Úresult_type_implr   r   r   r   r   Úcast_if_needed)r   ÚbÚdtyps      r   Ú_atleast_float_2r#      sd   € Ü×(Ñ(¨¨AÓ.€DØ×"Ò" d§o¢oÜ×*Ñ*Ó,×8Ñ8ˆä×Ñ˜Q Ó%€AÜ×Ñ˜Q Ó%€AØˆaˆ4€Kr   c                óB   ‡ — t        j                  ‰ «      ˆ fd„«       }|S )Nc                 ó„   •— 	  ‰| i |¤ŽS # t         j                  j                  $ r}t        |j                  Ž ‚d }~ww xY wr   )ÚtorchÚ_CÚ_LinAlgErrorr   Úargs)r)   ÚkwdsÚeÚfuncs      €r   Úwrappedzlinalg_errors.<locals>.wrapped$   sA   ø€ ð	'Ù˜Ð& Ñ&Ð&øÜ�x‰x×$Ñ$ò 	'Ü˜qŸv™vÐ&Ð&ûð	'ús   ƒ ‹?¨:º?)Ú	functoolsÚwraps)r,   r-   s   ` r   Úlinalg_errorsr0   #   s%   ø€ Ü‡_�_�TÓó'ó ð'ð €Nr   c                óX   — t        | «      } t        j                  j                  | |«      S r   )r   r&   ÚlinalgÚmatrix_power)r   Úns     r   r3   r3   1   s%   € ô 	˜Ó€AÜ�<‰<×$Ñ$ Q¨Ó*Ð*r   )Úoutc               ó@   — t         j                  j                  | «      S r   )r&   r2   Ú	multi_dot)Úinputsr5   s     r   r7   r7   8   s   € ô �<‰<×!Ñ! &Ó)Ð)r   c                ó`   — t        | |«      \  } }t        j                  j                  | |«      S r   )r#   r&   r2   Úsolve)r   r!   s     r   r:   r:   A   s+   € ô ˜A˜qÓ!�D€A€qÜ�<‰<×Ñ˜a Ó#Ð#r   c                óž   — t        | |«      \  } }| j                  s|j                  rdnd}t        j                  j	                  | |||¬«      S )NÚgelsÚgelsd)ÚrcondÚdriver)r#   Úis_cudar&   r2   Úlstsq)r   r!   r>   r?   s       r   rA   rA   H   sG   € ô ˜A˜qÓ!�D€A€qð —y’y A§I¢I‰V°7€FÜ�<‰<×Ñ˜a ¨%¸ÐÓ?Ð?r   c                óZ   — t        | «      } t        j                  j                  | «      }|S r   )r   r&   r2   Úinv©r   Úresults     r   rC   rC   R   s'   € ô 	˜Ó€AÜ�\‰\×Ñ˜aÓ €FØ€Mr   c                ó\   — t        | «      } t        j                  j                  | ||¬«      S )N)ÚrtolÚ	hermitian)r   r&   r2   Úpinv)r   r>   rH   s      r   rI   rI   Z   s*   € ô 	˜Ó€AÜ�<‰<×Ñ˜Q U°iÐÓ@Ð@r   c                ód   — t        | |«      \  } }t        j                  j                  | ||¬«      S )N)Údims)r#   r&   r2   Útensorsolve)r   r!   Úaxess      r   rL   rL   a   s0   € ô ˜A˜qÓ!�D€A€qÜ�<‰<×#Ñ# A q¨tÐ#Ó4Ð4r   c                óZ   — t        | «      } t        j                  j                  | |¬«      S )N)Úind)r   r&   r2   Ú	tensorinv)r   rO   s     r   rP   rP   h   s(   € ô 	˜Ó€AÜ�<‰<×!Ñ! !¨Ð!Ó-Ð-r   c                óV   — t        | «      } t        j                  j                  | «      S r   )r   r&   r2   Údetr   s    r   rR   rR   r   s#   € ô 	˜Ó€AÜ�<‰<×Ñ˜AÓÐr   c                óV   — t        | «      } t        j                  j                  | «      S r   )r   r&   r2   Úslogdetr   s    r   rT   rT   y   s#   € ô 	˜Ó€AÜ�<‰<×Ñ Ó"Ð"r   c                óF  — t        | «      } | j                  «       dk(  r0t        j                  | j                  dd  «      dk(  rt        d«      ‚t        j                  j                  | |¬«      }t        j                  t        j                  |«      t        d«      |«      S )Nr   éþÿÿÿz#cond is not defined on empty arrays)ÚpÚinf)r   ÚnumelÚmathÚprodÚshaper   r&   r2   ÚcondÚwhereÚisnanÚfloat)ÚxrW   rE   s      r   r]   r]   €   s~   € ô 	˜Ó€Að 	‡w�wƒy�A‚~œ$Ÿ)™) A§G¡G¨B¨C LÓ1°QÒ6ÜÐ?Ó@Ð@ä�\‰\×Ñ˜q AÐÓ&€Fô
 �;‰;”u—{‘{ 6Ó*¬E°%«L¸&ÓAÐAr   c                óJ  — t        | «      } | j                  dk  rt        | dk7  j                  «       «      S |€Ed}t	        | j
                  dd  «      t        j                  | j                  «      j                  z  }n|d}}t        j                  j                  | |||¬«      S )Né   r   rV   )ÚatolrG   rH   )r   ÚndimÚintÚanyÚmaxr\   r&   Úfinfor   Úepsr2   Úmatrix_rank)r   ÚtolrH   rd   rG   s        r   rk   rk   ’   s‹   € ô 	˜Ó€Aà‡v�v�‚zÜ�A˜‘F—<‘<“>Ó"Ð"à
€{àˆÜ�1—7‘7˜2˜3�<Ó ¤5§;¡;¨q¯w©wÓ#7×#;Ñ#;Ñ;‰à˜!ˆdˆÜ�<‰<×#Ñ# A¨D°tÀyÐ#ÓQÐQr   c                ó\   — t        | «      } t        j                  j                  | ||¬«      S )N)ÚordÚdim)r   r&   r2   Únorm)ra   rn   ÚaxisÚkeepdimss       r   rp   rp   £   s*   € ô 	˜Ó€AÜ�<‰<×Ñ˜Q C¨TÐÓ2Ð2r   c                óV   — t        | «      } t        j                  j                  | «      S r   )r   r&   r2   Úcholeskyr   s    r   rt   rt   ­   s#   € ô 	˜Ó€AÜ�<‰<× Ñ  Ó#Ð#r   c                ó€   — t        | «      } t        j                  j                  | |¬«      }|dk(  r|j                  }|S )N)ÚmodeÚr)r   r&   r2   ÚqrÚR)r   rv   rE   s      r   rx   rx   ´   s9   € ô 	˜Ó€AÜ�\‰\�_‰_˜Q Tˆ_Ó*€FØˆs‚{à—‘ˆØ€Mr   c                ó    — t        | «      } |st        j                  j                  | «      S t        j                  j	                  | |¬«      }|S )N)Úfull_matrices)r   r&   r2   ÚsvdvalsÚsvd)r   r{   Ú
compute_uvrH   rE   s        r   r}   r}   ¿   sF   € ô 	˜Ó€AÙÜ�|‰|×#Ñ# AÓ&Ð&ô �\‰\×Ñ˜a¨}ÐÓ=€FØ€Mr   c                ó  — t        | «      } t        j                  j                  | «      \  }}| j	                  «       sE|j	                  «       r5|j
                  dk(  j                  «       r|j                  }|j                  }||fS ©Nr   )r   r&   r2   Úeigr   ÚimagÚallÚreal)r   ÚwÚvts      r   r�   r�   Î   se   € ô 	˜Ó€AÜ�L‰L×Ñ˜QÓ�E€A€rà�<‰<Œ>˜aŸl™lœn°!·&±&¸A±+×1BÑ1BÔ1DØ�F‰FˆØ�W‰WˆØˆbˆ5€Lr   c                óZ   — t        | «      } t        j                  j                  | |¬«      S ©N)ÚUPLO)r   r&   r2   Úeigh©r   r‰   s     r   rŠ   rŠ   Ú   s(   € ô 	˜Ó€AÜ�<‰<×Ñ˜Q TÐÓ*Ð*r   c                óì   — t        | «      } t        j                  j                  | «      }| j	                  «       s9|j	                  «       r)|j
                  dk(  j                  «       r|j                  }|S r€   )r   r&   r2   Úeigvalsr   r‚   rƒ   r„   rD   s     r   r�   r�   á   sX   € ô 	˜Ó€AÜ�\‰\×!Ñ! !Ó$€FØ�<‰<Œ>˜f×/Ñ/Ô1°v·{±{ÀaÑ7G×6LÑ6LÔ6NØ—‘ˆØ€Mr   c                óZ   — t        | «      } t        j                  j                  | |¬«      S rˆ   )r   r&   r2   Úeigvalshr‹   s     r   r�   r�   ë   s(   € ô 	˜Ó€AÜ�<‰<× Ñ  ¨Ð Ó.Ð.r   )r   r   )r8   zSequence[ArrayLike])r   r   r!   r   r   )gVçž¯Ò<F)rc   )ra   r   )NF)NNF)ra   r   rr   r	   )Úreduced)TTF)ÚL)'Ú
__future__r   r.   rZ   Útypingr   r&   Ú r   r   Ú_normalizationsr   r	   r
   Ú	Exceptionr   r   r#   r0   r3   r7   r:   rA   rC   rI   rL   rP   rR   rT   r]   rk   rp   rt   rx   r}   r�   rŠ   r�   r�   r   r   r   ú<module>r—      su  ðõ #ã Û Ý ã ç !ß <Ñ <ô	�)ô 	òòòð Øò+ó ó ð+ð
 ØØ26ô *ó ó ð*ð Øò$ó ó ð$ð
 Øó@ó ó ð@ð Øòó ó ðð ØóAó ó ðAð
 Øó5ó ó ð5ð
 Øó.ó ó ð.ð Øòó ó ðð
 Øò#ó ó ð#ð
 ØóBó ó ðBð  ØóRó ó ðRð Øó3ó ó ð3ð Øò$ó ó ð$ð
 Øóó ó ðð Øóó ó ðð Øòó ó ðð Øó+ó ó ð+ð
 Øòó ó ðð Øó/ó ó ñ/r   