
    ijg                         d dl Zd dlmZ d dlmZ d dlmZ d dl	m
Z
 ddZddZd Zd Zd	 Zd
 Zd ZddZddZd ZddZddZddZddZddZddZy)    N)standardize_dtype)dtypes)convert_to_tensorc                 D    t         j                  j                  | |      S )N)upper)nplinalgcholesky)ar   s     s/var/www/html/emotional.easysim.app/public_html/venv/lib/python3.12/site-packages/keras/src/backend/numpy/linalg.pyr
   r
   	   s    99au--    c                    t        j                  | j                  d   | j                        }t	        | ||       }|r"t        j
                  ||j                        }|S t        j
                  |j                  |      }|S )N)dtypelower)r   eyeshaper   solve_triangularmatmulT)r   r   identityinv_chola_invs        r   cholesky_inverser      sg    vvaggbk1H8u9=H		(HJJ/ L 		(**h/Lr   c                 @    t         j                  j                  |       S N)r   r	   detr   s    r   r   r          99==r   c                 @    t         j                  j                  |       S r   )r   r	   eigr   s    r   r"   r"      r    r   c                 @    t         j                  j                  |       S r   )r   r	   eighr   s    r   r$   r$      s    99>>!r   c                 @    t         j                  j                  |       S r   )r   r	   invr   s    r   r&   r&   #   r    r   c                     | j                   dk(  rt        j                  |       S | j                  dd  \  }}d}|||k  rdndz  }t	        j
                  t        j                  |      } ||       S )N   z(m,n) -> (m,n), z(m)z(n)	signature)ndimsl	lu_factorr   r   	vectorize)r   mnr+   _lu_factor_gufuncs        r   r.   r.   '   sk    vv{||A7723<DAq"I!q&e+I
 Qr   c                     t        |       } t        | j                        }d|v s|dk(  r t        j                  | j                  d      }t
        j                  j                  | |||      j                  |      S )Nintboolfloat32)ordaxiskeepdims)	r   r   r   r   result_typer   r	   normastype)xr7   r8   r9   r   s        r   r;   r;   5   sh    !Aagg&E~&""177I699>>!4(>CJJ r   c                 h    |dvrt        d|       t        j                  j                  | |      S )N>   reducedcompletez]`mode` argument value not supported. Expected one of {'reduced', 'complete'}. Received: mode=)mode)
ValueErrorr   r	   qr)r=   rA   s     r   rC   rC   ?   s@    **"V%
 	

 99<<<%%r   c                 B    t         j                  j                  | |      S r   )r   r	   solve)r   bs     r   rE   rE   I   s    99??1a  r   c                 0   | j                   dk(  rt        j                  | |      S t        j                  fdd      }|j                   | j                   dz
  k(  r0t        j
                  |d      } || |      j                  d      S  || |      S )	Nr(   r   c                 4    t        j                  | |      S )Nr   )r-   r   )r   rF   r   s     r   <lambda>z"solve_triangular.<locals>.<lambda>R   s    R((AU; r   z(n,n),(n,m)->(n,m)r*      r   )r8   )r,   r-   r   r   r/   expand_dimssqueeze)r   rF   r   _vectorized_solve_triangulars     ` r   r   r   M   s    vv{""1au55#%<<;&$  	vv!NN12&+Aq199r9BB'1--r   c                 F    t         j                  j                  | ||      S )N)full_matrices
compute_uv)r   r	   svd)r=   rO   rP   s      r   rQ   rQ   [   s    99==-J=OOr   c                 x    t        |       } t        |      }t        j                  j                  | ||      d   S )Nrcondr   )r   r   r	   lstsq)r   rF   rT   s      r   rU   rU   _   s4    !A!A99??1au?-a00r   c                     t        |       } | j                  dk  rt        d| j                   d      t        j
                  j                  | |      j                  d      S )Nr(   z<Expected input to have rank >= 2. Received input with shape .)tolint32)r   r,   rB   r   r   r	   matrix_rankr<   )r=   rX   s     r   rZ   rZ   e   s`    !Avvz))*	4
 	
 99   ,33G<<r   c                 Z    t        |       } t        j                  j                  | |      S )NrS   )r   r   r	   pinv)r=   rT   s     r   r\   r\   o   s#    !A99>>!5>))r   c                     t        d      )Nz*JVP is not supported by the Numpy backend.)NotImplementedError)funprimalstangentshas_auxs       r   jvprc   t   s    
J
KKr   )F)NNF)r?   )TTr   )numpyr   scipy.linalgr	   r-   keras.src.backendr   keras.src.backend.commonr   keras.src.backend.numpy.corer   r
   r   r   r"   r$   r&   r.   r;   rC   rE   r   rQ   rU   rZ   r\   rc    r   r   <module>rj      sf      / + :. &!.P1=*
Lr   