
    &Vf                         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 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S )    N)standardize_dtype)dtypes)convert_to_tensorc                 @    t           j                            |           S N)nplinalgcholeskyas    [/var/www/html/software/conda/lib/python3.11/site-packages/keras/src/backend/numpy/linalg.pyr
   r
   	   s    9a       c                 @    t           j                            |           S r   )r   r	   detr   s    r   r   r          9==r   c                 @    t           j                            |           S r   )r   r	   eigr   s    r   r   r      r   r   c                 @    t           j                            |           S r   )r   r	   eighr   s    r   r   r      s    9>>!r   c                 @    t           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_factorshaper   	vectorize)r   mnr   _lu_factor_gufuncs        r   r   r      s{    v{{|A7233<DAq"I!q&&e+I
   Qr   Fc                     t          |           } t          | j                  }d|v s|dk    rt          j        | j        d          }t
          j                            | |||                              |          S )Nintboolfloat32)ordaxiskeepdims)	r   r   dtyper   result_typer   r	   normastype)xr)   r*   r+   r,   s        r   r.   r.   +   st    !Aag&&E~~&"17I669>>!4(>CCJJ  r   reducedc                 p    |dvrt          d|           t          j                            | |          S )N>   r1   completez]`mode` argument value not supported. Expected one of {'reduced', 'complete'}. Received: mode=)mode)
ValueErrorr   r	   qr)r0   r4   s     r   r6   r6   5   sL    ***%"% %
 
 	

 9<<<%%%r   c                 B    t           j                            | |          S r   )r   r	   solve)r   bs     r   r8   r8   ?   s    9??1a   r   c                 $   | j         dk    rt          j        | |          S t          j        fdd          }|j         | j         dz
  k    r6t          j        |d          } || |                              d          S  || |          S )	Nr   lowerc                 2    t          j        | |          S )Nr;   )r   solve_triangular)r   r9   r<   s     r   <lambda>z"solve_triangular.<locals>.<lambda>H   s    R(AU;;; r   z(n,n),(n,m)->(n,m)r      )r*   )r   r   r>   r   r!   expand_dimssqueeze)r   r9   r<   _vectorized_solve_triangulars     ` r   r>   r>   C   s    v{{"1au5555#%<;;;;&$ $ $  	v!N12&&&++Aq1199r9BBB''1---r   Tc                 F    t           j                            | ||          S )N)full_matrices
compute_uv)r   r	   svd)r0   rF   rG   s      r   rH   rH   Q   s    9==-J=OOOr   )NNF)r1   )F)TT)numpyr   scipy.linalgr	   r   keras.src.backendr   keras.src.backend.commonr   keras.src.backend.numpy.corer   r
   r   r   r   r   r   r.   r6   r8   r>   rH    r   r   <module>rO      s"             / / / / / / + + + + + + : : : : : :! ! !                & & & &! ! !. . . .P P P P P Pr   