
    &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 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        |           S N)torchcholeskyxs    [/var/www/html/software/conda/lib/python3.11/site-packages/keras/src/backend/torch/linalg.pyr   r   
   s    >!    c                 *    t          j        |           S r	   )r
   detr   s    r   r   r      s    9Q<<r   c                 @    t           j                            |           S r	   )r
   linalgeigr   s    r   r   r          <Ar   c                 @    t           j                            |           S r	   )r
   r   eighr   s    r   r   r      s    <Qr   c                 @    t           j                            |           S r	   )r
   r   invr   s    r   r   r      r   r   c                 T    t           j                            |           \  }}||dz
  fS )N   )r
   r   	lu_factor)r   LUpivotss      r   r   r      s)    ''**JBvz>r   Fc                    t          |           } t          | j                  dk    rt          j                    }nt          j        | j        t                    }t          | |          } t          j
                            | |||          S )Nint64)orddimkeepdim)r   r   dtyper   floatxr   result_typefloatr   r
   r   norm)r   r!   axiskeepdimsr$   s        r   r(   r(   $   sq    !A!!W,,"17E22QA<QCT8DDDr   reducedc                 p    |dvrt          d|           t          j                            | |          S )N>   r+   completez]`mode` argument value not supported. Expected one of {'reduced', 'complete'}. Received: mode=)mode)
ValueErrorr
   r   qr)r   r.   s     r   r0   r0   .   sL    ***%"% %
 
 	

 <??14?(((r   c                 B    t           j                            | |          S r	   )r
   r   solve)abs     r   r2   r2   8   s    <a###r   c                    |j         | j         dz
  k    rMt          j        |d          }t          j                            | ||                               d          S t          j                            | ||           S )Nr   )r)   )upper)ndimr
   	unsqueezer   solve_triangularsqueeze)r3   r4   lowers      r   r:   r:   <   s    v!OAB'''|,,QU,CCKK L 
 
 	
 <((AY(???r   Tc                 f    |st          d          t          j                            | |          S )Nz6`compute_uv=False` is not supported for torch backend.)full_matrices)NotImplementedErrorr
   r   svd)r   r>   
compute_uvs      r   r@   r@   E   s<     
!D
 
 	
 <A];;;r   )NNF)r+   )F)TT)r
   keras.src.backendr   r   keras.src.backend.commonr   keras.src.backend.torch.corer   r   r   r   r   r   r   r   r(   r0   r2   r:   r@    r   r   <module>rF      s3    $ $ $ $ $ $ / / / / / / + + + + + + - - - - - - : : : : : :               E E E E) ) ) )$ $ $@ @ @ @< < < < < <r   