
    2Vh6                         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dZy)    N)standardize_dtype)dtypes)convert_to_tensorc                 @    t         j                  j                  |       S N)nplinalgcholeskyas    N/home/dcms/DCMS/lib/python3.12/site-packages/keras/src/backend/numpy/linalg.pyr
   r
   	   s    99a      c                 @    t         j                  j                  |       S r   )r   r	   detr   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_factorshaper   	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   dtyper   result_typer   r	   normastype)xr)   r*   r+   r,   s        r   r.   r.   +   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)r0   r4   s     r   r6   r6   5   s@    **"V%
 	

 99<<<%%r   c                 B    t         j                  j                  | |      S r   )r   r	   solve)r   bs     r   r8   r8   ?   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   lowerc                 4    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    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)r0   rF   rG   s      r   rH   rH   Q   s    99==-J=OOr   c                 x    t        |       } t        |      }t        j                  j                  | ||      d   S )N)rcondr   )r   r   r	   lstsq)r   r9   rJ   s      r   rK   rK   U   s4    !A!A99??1au?-a00r   )NNF)r2   )F)TTr   )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   rK    r   r   <module>rR      sQ      / + :! &!.P1r   