
    [Th                    &   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       K/var/www/auris/envauris/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=    GG%%););DD,,.::;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""doo**,88Q%AQ%A4Kr   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    	'&&&xx$$ 	'qvv&&	'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!DA<<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!DA yyAIIV7F<<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<<Qi@@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!DA<<##At#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 	wwyA~$))AGGBCL1Q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vvzAF<<>""
{17723< 5;;qww#7#;#;;!d<<##At#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<<QT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LLQEA<<>>allnn!&&A+1B1B1D1DFFWW5Lr   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1v{{a7G6L6L6N6N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   