
    &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 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)config)standardize_dtype)dtypes)cast)convert_to_tensorc                     t           j                            |           }	 t          j        t          j        |                    rt          d          n# t          j        j        $ r Y nw xY w|S )NzWCholesky decomposition failed. The input might not be a valid positive definite matrix.)	jnplinalgcholeskyanyisnan
ValueErrorjaxerrorsTracerBoolConversionError)aouts     Y/var/www/html/software/conda/lib/python3.11/site-packages/keras/src/backend/jax/linalg.pyr   r      s    
*

a
 
 C 739S>>"" 	,  	 :/    Js   5A A.-A.c                 @    t           j                            |           S N)r	   r
   detr   s    r   r   r          :>>!    c                 @    t           j                            |           S r   )r	   r
   eigxs    r   r   r   !   r   r   c                 @    t           j                            |           S r   )r	   r
   eighr   s    r   r    r    %   s    :??1r   c                 @    t           j                            |           S r   )r	   r
   invr   s    r   r"   r"   )   r   r   c                     t           j        j        }| j        dk    r.t	          | j        dz
            D ]}t          j        |          } ||           S )N   )jspr
   	lu_factorndimranger   vmap)r   lu_factor_fnis      r   r&   r&   -   sS    :'Lvzzqvz"" 	2 	2A8L11LL<??r   Fc                    t          |           } t          | j                  dk    rt          j                    }nt          j        | j        t                    }t          | |          } t          j
                            | |||          S )Nint64)ordaxiskeepdims)r   r   dtyper   floatxr   result_typefloatr   r	   r
   norm)r   r.   r/   r0   r1   s        r   r5   r5   6   sn    !A!!W,,"17E22QA:??1#D8?DDDr   reducedc                 p    |dvrt          d|           t          j                            | |          S )N>   r6   completez]`mode` argument value not supported. Expected one of {'reduced', 'complete'}. Received: mode=)mode)r   r	   r
   qr)r   r9   s     r   r:   r:   @   sL    ***%"% %
 
 	

 :===&&&r   c                 B    t           j                            | |          S r   )r	   r
   solve)r   bs     r   r<   r<   J   s    :Aq!!!r   c                 F    t           j                            | ||          S )N)lower)r%   r
   solve_triangular)r   r=   r?   s      r   r@   r@   N   s    :&&q!5&999r   Tc                 F    t           j                            | ||          S )N)full_matrices
compute_uv)r	   r
   svd)r   rB   rC   s      r   rD   rD   R   s    :>>!=Z>PPPr   )NNF)r6   )F)TT)r   	jax.numpynumpyr	   	jax.scipyscipyr%   keras.src.backendr   r   keras.src.backend.commonr   keras.src.backend.jax.corer   r   r   r   r   r    r"   r&   r5   r:   r<   r@   rD    r   r   <module>rM      sY   



             $ $ $ $ $ $ / / / / / / + + + + + + + + + + + + 8 8 8 8 8 8  "          E E E E' ' ' '" " ": : : :Q Q Q Q Q Qr   