
    &Vfm                     2   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 Zd	 Zd
 Zd Zd ZddZddZddZddZd Zd ZddZddZddZddZddZddZd Zd Zd Z d Z!d Z"d Z#d  Z$dd!Z%dd"Z&dd$Z'dd%Z(dd&Z)dd'Z*d( Z+d) Z,d* Z-dd+Z.d, Z/d- Z0d. Z1d/ Z2d0 Z3dd1Z4dd2Z5dd3Z6dd4Z7dd5Z8dd7Z9dd8Z:d9 Z;d: Z<dd;Z=d< Z>d= Z?d> Z@d? ZAdd@ZBdA ZCddBZDddCZEdD ZFdE ZGdF ZHddGZIdH ZJdI ZKdJ ZLdK ZMdL ZNdM ZOdN ZP	 ddQZQdR ZRdS ZSdT ZTdU ZUdV ZVdW ZWdX ZXdY ZYdd[ZZd\ Z[dd]Z\d^d_d`Z]ddaZ^db Z_dc Z`dd ZaddfZbdg Zcdh Zddi ZeddjZfddkZgdl ZhddnZiddoZjddqZkdr Zlds Zmdt ZndduZodv ZpddwZqdx Zrdy Zsdz Ztd{ Zudd|Zvdd}Zwdd~ZxddZyd ZzddZ{ddZ|d Z}d Z~ddZddZd ZddZddZddZddZd Zd ZddddZd Zd Zd Zd Zd Zd Zd Zd ZddZddZddZddZddZd Zd ZddZddZd ZdS )    N)tree)config)standardize_dtype)dtypes)standardize_axis_for_numpyconvert_to_tensorc           
         t          | t          t          f          st          |           } t          |t          t          f          st          |          }t	          j        t          | dt          |                     t          |dt          |                              }t          | |          } t          ||          }t          j	        | |          S Ndtype)

isinstanceintfloatr	   r   result_typegetattrtypenpaddx1x2r   s      Z/var/www/html/software/conda/lib/python3.11/site-packages/keras/src/backend/numpy/numpy.pyr   r      s    b3,'' #r""b3,'' #r""GT"XX&&GT"XX&& E 
2u	%	%B	2u	%	%B6"b>>    c                 |   t          j        t          |          }t          t	          d |D                                 }t          |          dk    r|d         dk    rdd}nt          j        | }|dk    rdt          j        fd|          }t          j	        | g|R i |
                    |          S )	Nc              3   >   K   | ]}t          |j                  V  d S N)r   r   .0xs     r   	<genexpr>zeinsum.<locals>.<genexpr>   s-       N N!217!;!; N N N N N Nr      r   int8int32bfloat16float32c                 .    |                                S r   astype)r   compute_dtypes    r   <lambda>zeinsum.<locals>.<lambda>'   s    AHH],C,C r   )r   map_structurer	   listsetlenr   r   r   einsumr(   )
subscriptsoperandskwargsdtypes_to_resolveresult_dtyper)   s        @r   r/   r/      s    !"3X>>HS N NX N N NNNOO ""'8';v'E'E)+<=$J&&%M!"C"C"C"CXNNH9Z5(555f55<<\JJJr   c           
         t          | t          t          f          st          |           } t          |t          t          f          st          |          }t	          j        t          | dt          |                     t          |dt          |                              }t          | |          } t          ||          }t          j	        | |          S r   )
r   r   r   r	   r   r   r   r   r   subtractr   s      r   r6   r6   +       b3,'' #r""b3,'' #r""GT"XX&&GT"XX&& E 
2u	%	%B	2u	%	%B;r2r   c                 :   t          |           } t          |          }t          | j                  }t          |j                  }|dk    r	|dk    rd}nt          j        | j        |j                  }t          j        | |                              |          S )Nr"   r#   )r	   r   r   r   r   r   matmulr(   )r   r   x1_dtypex2_dtyper   s        r   r9   r9   9   s    	2		B	2		B !**H **H6h&00"28RX669R##E***r   c           
         t          | t          t          f          st          |           } t          |t          t          f          st          |          }t	          j        t          | dt          |                     t          |dt          |                              }t          | |          } t          ||          }t          j	        | |          S r   )
r   r   r   r	   r   r   r   r   r   multiplyr   s      r   r=   r=   G   r7   r   Fc                    t          |          }t          |           } t          | j                  }d|v s|dk    rt	          j        | j        d          }n|}t          j        | ||                              |          S )Nr   boolr%   axiskeepdims)	r   r	   r   r   r   r   r   meanr(   )r   rA   rB   	ori_dtyper4   s        r   rC   rC   U   s    %d++D!A!!'**I	Y&00)!'9== 714(333::<HHHr   c                 P    t          |          }t          j        | |||          S N)rA   rB   initial)r   r   maxr   rA   rB   rG   s       r   rH   rH   `   (    %d++D6!$7CCCCr   c                 X    |pt          j                    }t          j        | |          S Nr   )r   floatxr   onesshaper   s     r   rO   rO   e   s'    $V]__E75&&&&r   c                 X    |pt          j                    }t          j        | |          S rL   )r   rN   r   zerosrP   s     r   rS   rS   j   '    $V]__E8E''''r   c                 *    t          j        |           S r   )r   absoluter   s    r   rV   rV   o       ;q>>r   c                      t          |           S r   )rV   rW   s    r   absrZ   s   s    A;;r   c                 N    t          |          }t          j        | ||          S Nr@   )r   r   allr   rA   rB   s      r   r]   r]   w   &    %d++D6!$2222r   c                 N    t          |          }t          j        | ||          S r\   )r   r   anyr^   s      r   ra   ra   |   r_   r   c                 N    t          |          }t          j        | ||          S r\   )r   r   amaxr^   s      r   rc   rc      &    %d++D714(3333r   c                 N    t          |          }t          j        | ||          S r\   )r   r   aminr^   s      r   rf   rf      rd   r   c                    t          |          }t          |           } t          |          }t          j        | j        |j                  }|                     |          } |                    |          }t          j        | ||          S NrA   )r   r	   r   r   r   r(   r   append)r   r   rA   r   s       r   rj   rj      sx    %d++D	2		B	2		Brx22E	5		B	5		B9R$''''r   c           	      0   |}t          | dt          |                     t          |dt          |                    g}|1|                    t          |dt          |                               t          j        | }t          j        | |||          S )Nr   )stepr   )r   r   rj   r   r   r   arange)startstoprl   r   r3   s        r   rm   rm      s    }E7DKK00D'4::..
 $$WT7DJJ%G%GHHH"$569UDt59999r   c                    t          |           } t          | j                  dk    rt          j                    }nt          j        | j        t                    }|                     |          } t          j
        |           S Nint64)r	   r   r   r   rN   r   r   r   r(   r   arccosr   r   s     r   rs   rs      b    !A!!W,,"17E22	A9Q<<r   c                    t          |           } t          | j                  dk    rt          j                    }nt          j        | j        t                    }|                     |          } t          j
        |           S rq   )r	   r   r   r   rN   r   r   r   r(   r   arccoshrt   s     r   rw   rw      b    !A!!W,,"17E22	A:a==r   c                    t          |           } t          | j                  dk    rt          j                    }nt          j        | j        t                    }|                     |          } t          j
        |           S rq   )r	   r   r   r   rN   r   r   r   r(   r   arcsinrt   s     r   rz   rz      ru   r   c                    t          |           } t          | j                  dk    rt          j                    }nt          j        | j        t                    }|                     |          } t          j
        |           S rq   )r	   r   r   r   rN   r   r   r   r(   r   arcsinhrt   s     r   r|   r|      rx   r   c                    t          |           } t          | j                  dk    rt          j                    }nt          j        | j        t                    }|                     |          } t          j
        |           S rq   )r	   r   r   r   rN   r   r   r   r(   r   arctanrt   s     r   r~   r~      ru   r   c                    t          |           } t          |          }t          j        | j        |j        t                    }|                     |          } |                    |          }t          j        | |          S r   )r	   r   r   r   r   r(   r   arctan2r   s      r   r   r      sh    	2		B	2		Brx599E	5		B	5		B:b"r   c                    t          |           } t          | j                  dk    rt          j                    }nt          j        | j        t                    }|                     |          } t          j
        |           S rq   )r	   r   r   r   rN   r   r   r   r(   r   arctanhrt   s     r   r   r      rx   r   c                 t    t          |          }t          j        | ||                              d          S Nr@   r#   )r   r   argmaxr(   r^   s      r   r   r      4    %d++D9QTH555<<WEEEr   c                 t    t          |          }t          j        | ||                              d          S r   )r   r   argminr(   r^   s      r   r   r      r   r   c                 r    t          |          }t          j        | |                              d          S Nri   r#   )r   r   argsortr(   r   rA   s     r   r   r      s2    %d++D:ad###**7333r   c                 $    t          | |          S rL   r   rt   s     r   arrayr      s    Qe,,,,r   c                 R   t          |          }t          |           } | j        t          g}|)t          |          }|                    |j                   t          j        | }|                     |          } ||                    |          }t          j	        | ||          S )N)weightsrA   )
r   r	   r   r   rj   r   r   r(   r   average)r   rA   r   r3   r   s        r   r   r      s    %d++D!A%(#G,,  /// 12E	A..'':at4444r   c           	      F   |rt          d          t          |           } | j        g}|8t          |          }|                    |j                   t	          j        | }nd}t          | j                  dk    r||#fd}t          t          ||                     }n0fd}t          t          |t          | |                              }t          j        |                              |          S t          j        | |                              |          S )Nz2Unsupported value `sparse=True` with numpy backendr#      c                 0    t          j        |           S )N)	minlengthr   bincount)arrr   s    r   bincount_fnzbincount.<locals>.bincount_fn  s    {3)<<<<r   c                 J    t          j        | d         | d                   S )Nr   r!   )r   r   r   )arr_wr   s    r   r   zbincount.<locals>.bincount_fn  s+    {!HeAh)   r   )
ValueErrorr	   r   rj   r   r   r.   rQ   r,   mapzipr   stackr(   r   )r   r   r   sparser3   r   r   	bincountss     `     r   r   r     s6    OMNNN!A	#G,,  ///"$56
17||q?= = = = = Sa0011II    
 Sc!Woo>>??Ix	""))%000;q'9--44U;;;r   c                 ,    t          j        | |          S r   )r   broadcast_to)r   rQ   s     r   r   r   &  s    ?1e$$$r   c                    t          |           } t          | j                  dk    rt          j                    }nt          j        | j        t                    }|                     |          } t          j
        |           S rq   )r	   r   r   r   rN   r   r   r   r(   r   ceilrt   s     r   r   r   *  b    !A!!W,,"17E22	A71::r   c                     t          |           } t          | j                  }|dk    rd}t          j        | ||                              |          S Nr?   r#   )r	   r   r   r   clipr(   )r   x_minx_maxr   s       r   r   r   4  sN    !Aag&&E71eU##**5111r   c                     t          |          }t          d | D                       }t          |          dk    r&t          j        | t          j        fd|           } t          j        | |          S )Nc           	      J    g | ] }t          |d t          |                    !S rM   r   r   r   s     r   
<listcomp>zconcatenate.<locals>.<listcomp>>  *    >>>aWQa11>>>r   r!   c                 H    t          |                                         S r   r	   r(   rt   s    r   r*   zconcatenate.<locals>.<lambda>B      '**11%88 r   ri   )	r   r-   r.   r   r   r   r+   r   concatenate)xsrA   	dtype_setr   s      @r   r   r   <  s    %d++D>>2>>>??I
9~~"I.8888"
 
 >"4((((r   c                 *    t          j        |           S r   )r   	conjugaterW   s    r   r   r   G  s    <??r   c                      t          |           S r   )r   rW   s    r   conjr   K  s    Q<<r   c                 *    t          j        |           S r   )r   copyrW   s    r   r   r   O      71::r   c                    t          |           } t          | j                  dk    rt          j                    }nt          j        | j        t                    }|                     |          } t          j
        |           S rq   )r	   r   r   r   rN   r   r   r   r(   r   cosrt   s     r   r   r   S  b    !A!!W,,"17E22	A6!99r   c                    t          |           } t          | j                  dk    rt          j                    }nt          j        | j        t                    }|                     |          } t          j
        |           S rq   )r	   r   r   r   rN   r   r   r   r(   r   coshrt   s     r   r   r   ]  r   r   c                     t          |          }t          t          j        | |                                        d          S r   )r   r	   r   count_nonzeror(   r   s     r   r   r   g  s=    %d++D R-ad;;;<<CCGLLLr   c                 "   t          |          }t          |           } t          |          }t          j        | j        |j                  }|                     |          } |                    |          }t          j        | |||||          S )N)axisaaxisbaxiscrA   )r   r	   r   r   r   r(   r   cross)r   r   r   r   r   rA   r   s          r   r   r   n  s    %d++D	2		B	2		Brx22E	5		B	5		B8

   r   c                     t          |          }t          j        |p| j                  }|dk    rd}t	          j        | ||          S Nr?   r#   )rA   r   )r   r   r   r   r   cumprodr   rA   r   s      r   r   r     sK    %d++Du/00E:ad%0000r   c                     t          |          }t          j        |p| j                  }|dk    rd}t	          j        | ||          S r   )r   r   r   r   r   cumsumr   s      r   r   r     sK    %d++Du/00E9QT////r   c                 .    t          j        | |          S N)k)r   diagr   r   s     r   r   r         71???r   r!   c                 n    t          |          }t          |          }t          j        | |||          S )N)offsetaxis1axis2)r   r   diagonal)r   r   r   r   s       r   r   r     s5    &u--E&u--E;quEBBBBr   c                 0    t          j        | ||          S )N)nrA   )r   diff)ar   rA   s      r   r   r     s    71%%%%r   c                 f    t          j        | |                              t           j                  S r   )r   digitizer(   r#   )r   binss     r   r   r     s$    ;q$&&rx000r   c                     t          |           } t          |          }t          j        | j        |j                  }|                     |          } |                    |          }t          j        | |          S r   )r	   r   r   r   r(   r   dot)r   yr   s      r   r   r     s`    !A!Aqw00E	A	A6!Q<<r   c                 X    |pt          j                    }t          j        | |          S rL   )r   rN   r   emptyrP   s     r   r   r     rT   r   c                 ,    t          j        | |          S r   )r   equalr   r   s     r   r   r     s    8Br   c                     t          |           } t          | j                  }d|v s|dk    r&|                     t	          j                              } t          j        |           S Nr   r?   )r	   r   r   r(   r   rN   r   expr   rD   s     r   r   r     sX    !A!!'**I	Y&00HHV]__%%6!99r   c                 J    t          |          }t          j        | |          S r   )r   r   expand_dimsr   s     r   r   r     s!    %d++D>!T"""r   c                     t          |           } t          | j                  }d|v s|dk    r&|                     t	          j                              } t          j        |           S r   )r	   r   r   r(   r   rN   r   expm1r   s     r   r   r     sX    !A!!'**I	Y&00HHV]__%%8A;;r   c                 L    t          |          }t          j        | |          S rh   )r   r   flipr   s     r   r   r     $    %d++D714    r   c                    t          |           } t          | j                  dk    rt          j                    nt          j        | j        t                    }|                     |          } t          j
        |           S rq   )r	   r   r   r   rN   r   r   r   r(   r   floorrt   s     r   r   r     si    !A QW%%00 	// 

 	
A8A;;r   c                 Z    |pt          j                    }t          j        | ||          S rL   )r   rN   r   full)rQ   
fill_valuer   s      r   r   r     s)    $V]__E75*E2222r   c                 0    t          j        | ||          S rL   )r   	full_like)r   r   r   s      r   r   r     s    <:U3333r   c                 ,    t          j        | |          S r   )r   greaterr   s     r   r   r         :b"r   c                 ,    t          j        | |          S r   )r   greater_equalr   s     r   r  r    s    B###r   c                     t          d | D                       }t          |          dk    r&t          j        | t	          j        fd|           } t          j        |           S )Nc           	      J    g | ] }t          |d t          |                    !S rM   r   r   s     r   r   zhstack.<locals>.<listcomp>  r   r   r!   c                 H    t          |                                         S r   r   rt   s    r   r*   zhstack.<locals>.<lambda>  r   r   )r-   r.   r   r   r   r+   r   hstackr   r   r   s     @r   r  r    m    >>2>>>??I
9~~"I.8888"
 
 9R==r   c                 X    |pt          j                    }t          j        | |          S rL   )r   rN   r   identity)r   r   s     r   r	  r	    s'    $V]__E;q&&&&r   c                 *    t          j        |           S r   )r   imagrW   s    r   r  r    r   r   c                 ,    t          j        | |          S r   )r   iscloser   s     r   r  r    r   r   c                 *    t          j        |           S r   )r   isfiniterW   s    r   r  r     rX   r   c                 *    t          j        |           S r   )r   isinfrW   s    r   r  r        8A;;r   c                 *    t          j        |           S r   )r   isnanrW   s    r   r  r    r  r   c                 ,    t          j        | |          S r   )r   lessr   s     r   r  r    s    72r??r   c                 ,    t          j        | |          S r   )r   
less_equalr   s     r   r  r        =R   r   2   Tc           	          t          |          }|Pt          | dt          |                     t          |dt          |                    t          g}t	          j        | }t          j        | ||||||          S )Nr   )numendpointretstepr   rA   )r   r   r   r   r   r   r   linspace)rn   ro   r  r  r  r   rA   r3   s           r   r  r    s     &d++D}E7DKK00D'4::..

 "$56;   r   c                     t          |           } t          | j                  dk    rt          j                    nt          j        | j        t                    }t          j	        | |          S Nrr   rM   )
r	   r   r   r   rN   r   r   r   r   logrt   s     r   r"  r"  *  sa    !A QW%%00 	// 

 6!5!!!!r   c                     t          |           } t          | j                  dk    rt          j                    nt          j        | j        t                    }t          j	        | |          S r!  )
r	   r   r   r   rN   r   r   r   r   log10rt   s     r   r$  r$  4  a    !A QW%%00 	// 

 8AU####r   c                     t          |           } t          | j                  dk    rt          j                    nt          j        | j        t                    }t          j	        | |          S r!  )
r	   r   r   r   rN   r   r   r   r   log1prt   s     r   r'  r'  >  r%  r   c                     t          |           } t          | j                  dk    rt          j                    nt          j        | j        t                    }t          j	        | |          S r!  )
r	   r   r   r   rN   r   r   r   r   log2rt   s     r   r)  r)  H  sa    !A QW%%00 	// 

 71E""""r   c                    t          |           } t          |          }t          j        | j        |j        t                    }|                     |          } |                    |          }t          j        | |          S r   )r	   r   r   r   r   r(   r   	logaddexpr   s      r   r+  r+  R  sh    	2		B	2		Brx599E	5		B	5		B<Br   c                 ,    t          j        | |          S r   )r   logical_andr   s     r   r-  r-  [      >"b!!!r   c                 *    t          j        |           S r   )r   logical_notrW   s    r   r0  r0  _  s    >!r   c                 ,    t          j        | |          S r   )r   
logical_orr   s     r   r2  r2  c  r  r   
   c           	          |Pt          | dt          |                     t          |dt          |                    t          g}t          j        | }t          j        | ||||||          S )Nr   )r  r  baser   rA   )r   r   r   r   r   r   logspace)rn   ro   r  r  r5  r   rA   r3   s           r   r6  r6  g  sz    }E7DKK00D'4::..

 "$56;   r   c           
         t          | t          t          f          st          |           } t          |t          t          f          st          |          }t	          j        t          | dt          |                     t          |dt          |                              }t          | |          } t          ||          }t          j	        | |          S r   )
r   r   r   r	   r   r   r   r   r   maximumr   s      r   r8  r8  z      b3,'' #r""b3,'' #r""GT"XX&&GT"XX&& E 
2u	%	%B	2u	%	%B:b"r   c                     t          j        | j        t                    }t	          j        | ||                              |          S r\   )r   r   r   r   r   medianr(   r   rA   rB   r   s       r   r;  r;    s;    qw..E9QTH555<<UCCCr   xy)indexingc                 $    t          j        |d| iS )Nr>  )r   meshgrid)r>  r   s     r   r@  r@    s    ;-H---r   c                 P    t          |          }t          j        | |||          S rF   )r   r   minrI   s       r   rB  rB    rJ   r   c           
         t          | t          t          f          st          |           } t          |t          t          f          st          |          }t	          j        t          | dt          |                     t          |dt          |                              }t          | |          } t          ||          }t          j	        | |          S r   )
r   r   r   r	   r   r   r   r   r   minimumr   s      r   rD  rD    r9  r   c                 
   t          |           } t          |          }t          j        | j        |j                  }|dk    rd}|                     |          } |                    |          }t          j        | |          S r   )r	   r   r   r   r(   r   modr   s      r   rF  rF    sr    	2		B	2		Brx22E	5		B	5		B6"b>>r   c                 0    t          j        | ||          S )N)sourcedestination)r   moveaxis)r   rH  rI  s      r   rJ  rJ    s    ;q[AAAAr           c                 2    t          j        | |||          S )N)nanposinfneginf)r   
nan_to_num)r   rM  rN  rO  s       r   rP  rP    s    =F6BBBBr   c                 *    t          j        |           S r   )r   ndimrW   s    r   rR  rR    r   r   c                 X    t          d t          j        |           D                       S )Nc              3   @   K   | ]}|                     d           V  dS )r#   Nr'   )r   indicess     r   r    znonzero.<locals>.<genexpr>  s.      FFW((FFFFFFr   )tupler   nonzerorW   s    r   rW  rW    s'    FF
1FFFFFFr   c                 ,    t          j        | |          S r   )r   	not_equalr   s     r   rY  rY    s    <Br   c                 .    t          j        | |          S rL   )r   
zeros_likert   s     r   r[  r[    s    =%((((r   c                 .    t          j        | |          S rL   )r   	ones_likert   s     r   r]  r]    s    <''''r   c                     t          |           } t          |          }t          j        | j        |j                  }|                     |          } |                    |          }t          j        | |          S r   )r	   r   r   r   r(   r   outerr   s      r   r_  r_    sf    	2		B	2		Brx22E	5		B	5		B8Br   constantc                 n    i }||dk    rt          d|           ||d<   t          j        | |fd|i|S )Nr`  zZArgument `constant_values` can only be provided when `mode == 'constant'`. Received: mode=constant_valuesmode)r   r   pad)r   	pad_widthrc  rb  r2   s        r   rd  rd    sh    F":)"&) )  
 %4 !6!Y44T4V444r   c                     t          |          }t          |           } |&t          j        | j                  }|dv rd}n|dv rd}t          j        | |||          S )Nr?   r"   int16r#   uint8uint16uint32rA   rB   r   )r   r	   r   r   r   r   prodr<  s       r   rn  rn    sp    %d++D!A}"17++---EE)))E714(%@@@@r   linearc                    t          |          }t          |           } t          | j                  }|dk    r&|                     t          j                              } |dk    rt          j                    }nt          j        | j        t                    }t          j        | ||||                              |          S )Nr?   rr   )rA   methodrB   )r   r	   r   r   r(   r   rN   r   r   r   r   quantile)r   qrA   rq  rB   rD   r   s          r   rr  rr    s    %d++D!A!!'**IFHHV]__%%G"17E22;	14  fUmmr   c                 *    t          j        |           S r   )r   ravelrW   s    r   ru  ru    r  r   c                 *    t          j        |           S r   )r   realrW   s    r   rw  rw    r   r   c                 *    t          j        |           S r   )r   
reciprocalrW   s    r   ry  ry    s    =r   c                 0    t          j        | ||          S rh   )r   repeat)r   repeatsrA   s      r   r{  r{  
  s    9Qd++++r   c                 ,    t          j        | |          S r   )r   reshape)r   newshapes     r   r~  r~    s    :a"""r   c                 0    t          j        | ||          S rh   )r   roll)r   shiftrA   s      r   r  r    s    71e$''''r   c                 *    t          j        |           S r   )r   signrW   s    r   r  r    r   r   c                    t          |           } t          | j                  dk    rt          j                    }nt          j        | j        t                    }|                     |          } t          j
        |           S rq   )r	   r   r   r   rN   r   r   r   r(   r   sinrt   s     r   r  r    r   r   c                    t          |           } t          | j                  dk    rt          j                    }nt          j        | j        t                    }|                     |          } t          j
        |           S rq   )r	   r   r   r   rN   r   r   r   r(   r   sinhrt   s     r   r  r  $  r   r   c                 *    t          j        |           S r   )r   sizerW   s    r   r  r  .  r   r   c                 L    t          |          }t          j        | |          S rh   )r   r   sortr   s     r   r  r  2  r   r   c                 N    t          |          }t          j        | ||          S rh   )r   r   split)r   indices_or_sectionsrA   s      r   r  r  7  s'    %d++D8A*6666r   c                     t          |          }t          d | D                       }t          |          dk    r&t          j        | t          j        fd|           } t          j        | |          S )Nc           	      J    g | ] }t          |d t          |                    !S rM   r   )r   r   s     r   r   zstack.<locals>.<listcomp>>  s*    ===aWQa11===r   r!   c                 H    t          |                                         S r   r   )r   r   s    r   r*   zstack.<locals>.<lambda>A  s    ):1)=)=)D)DU)K)K r   ri   )	r   r-   r.   r   r   r   r+   r   r   )r   rA   r   r   s      @r   r   r   <  s{    %d++D==1===>>I
9~~"I.KKKKQOO8AD!!!!r   c                     t          |          }t          |           } t          | j                  }d|v s|dk    r&|                     t          j                              } t          j        | ||          S )Nr   r?   r@   )	r   r	   r   r   r(   r   rN   r   std)r   rA   rB   rD   s       r   r  r  E  sn    %d++D!A!!'**I	Y&00HHV]__%%6!$2222r   c                 0    t          j        | ||          S )N)r   r   )r   swapaxes)r   r   r   s      r   r  r  N  s    ;qU3333r   c                 N    t          |          }t          j        | ||          S rh   )r   r   taker   rU  rA   s      r   r  r  R  s&    %d++D71gD))))r   c                 N    t          |          }t          j        | ||          S rh   )r   r   take_along_axisr  s      r   r  r  W  s'    %d++Dat4444r   c                    t          |           } t          | j                  dk    rt          j                    }nt          j        | j        t                    }|                     |          } t          j
        |           S rq   )r	   r   r   r   rN   r   r   r   r(   r   tanrt   s     r   r  r  \  r   r   c                    t          |           } t          | j                  dk    rt          j                    }nt          j        | j        t                    }|                     |          } t          j
        |           S rq   )r	   r   r   r   rN   r   r   r   r(   r   tanhrt   s     r   r  r  f  r   r   r   c                 J   t          |t                    rt          |          n|}t          |           } t          |          }t	          j        | j        |j                  }|                     |          } |                    |          }t          j	        | ||          S N)axes)
r   r,   rV  r	   r   r   r   r(   r   	tensordot)r   r   r  r   s       r   r  r  p  s    $T400:5;;;dD	2		B	2		Brx22E	5		B	5		B<BT****r   c                 .    t          j        | |          S )N)decimals)r   round)r   r  s     r   r  r  z  s    8A))))r   c                 ,    t          j        | |          S r   )r   tile)r   r|  s     r   r  r  ~  s    71gr   c                     t          |          }t          |          }t          |           } t          | j                  }|dvrt	          j        |d          }t          j        | ||||          S )N)rr   rl  uint64r#   )r   r   r   r   )r   r	   r   r   r   r   r   trace)r   r   r   r   r   s        r   r  r    sq    &u--E&u--E!Aag&&E111"5'228AfEeLLLLr   c                 \    |pt          j                    }t          j        | |||          S N)Mr   r   )r   rN   r   triNr  r   r   s       r   r  r    +    $V]__E6!qAU++++r   c                 .    t          j        | |          S r   )r   trilr   s     r   r  r    r   r   c                 .    t          j        | |          S r   )r   triur   s     r   r  r    r   r   c                     t          |           } t          |          }t          j        | j        |j                  }|                     |          } |                    |          }t          j        | |          S r   )r	   r   r   r   r(   r   vdotr   s      r   r  r    sd    	2		B	2		Brx22E	5		B	5		B72r??r   c                     t          d | D                       }t          |          dk    r&t          j        | t	          j        fd|           } t          j        |           S )Nc           	      J    g | ] }t          |d t          |                    !S rM   r   r   s     r   r   zvstack.<locals>.<listcomp>  r   r   r!   c                 H    t          |                                         S r   r   rt   s    r   r*   zvstack.<locals>.<lambda>  r   r   )r-   r.   r   r   r   r+   r   vstackr  s     @r   r  r    r  r   excluded	signaturec                0    t          j        | ||          S )Nr  )r   	vectorize)pyfuncr  r  s      r   r  r    s    <YGGGGr   c           
         ||t          |t          t          f          st          |          }t          |t          t          f          st          |          }t	          j        t          |dt          |                    t          |dt          |                              }t          ||          }t          ||          }t          j	        | ||          S t          j	        |           S r   )
r   r   r   r	   r   r   r   r   r   where)	conditionr   r   r   s       r   r  r    s    	~"."sEl++ 	'"2&&B"sEl++ 	'"2&&B"Bb**Bb**
 
 r5))r5))x	2r***x	"""r   c           
         t          | t          t          f          st          |           } t          |t          t          f          st          |          }t	          j        t          | dt          |                     t          |dt          |                    t                    }t          | |          } t          ||          }t          j	        | |          S r   )
r   r   r   r	   r   r   r   r   r   divider   s      r   r  r    s    b3,'' #r""b3,'' #r""GT"XX&&GT"XX&& E
 
2u	%	%B	2u	%	%B9Rr   c           
         t          | t          t          f          st          |           } t          |t          t          f          st          |          }t	          j        t          | dt          |                     t          |dt          |                    t                    }t          | |          } t          ||          }t          j	        |dk    dt          j
        | |                    S )Nr   r   )r   r   r   r	   r   r   r   r   r   r  r  r   s      r   divide_no_nanr    s    b3,'' #r""b3,'' #r""GT"XX&&GT"XX&& E
 
2u	%	%B	2u	%	%B8B!GQ	"b 1 1222r   c                 "    t          | |          S r   )r  r   s     r   true_divider    s    "b>>r   c           
         t          | t          t          f          st          |           } t          |t          t          f          st          |          }t	          j        t          | dt          |                     t          |dt          |                              }t          | |          } t          ||          }t          j	        | |          S r   )
r   r   r   r	   r   r   r   r   r   powerr   s      r   r  r    s    b3,'' #r""b3,'' #r""GT"XX&&GT"XX&& E 
2u	%	%B	2u	%	%B8Br   c                 *    t          j        |           S r   )r   negativerW   s    r   r  r    rX   r   c                     t          |           } t          | j                  dk    r|                     d          } t	          j        |           S r   )r	   r   r   r(   r   squarerW   s    r   r  r    sC    !A!!V++HHW9Q<<r   c                     t          |           } t          | j                  dk    rt          j                    nt          j        | j        t                    }t          j	        | |          S r!  )
r	   r   r   r   rN   r   r   r   r   sqrtrt   s     r   r  r    sa    !A QW%%00 	// 

 71E""""r   c                 L    t          |          }t          j        | |          S rh   )r   r   squeezer   s     r   r  r    s$    %d++D:ad####r   c                 z    t          |t                    rt          |          n|}t          j        | |          S r  )r   r,   rV  r   	transpose)r   r  s     r   r  r    s5    $T400:5;;;dD<%%%%r   c                    t          |          }t          |           } t          j        | j        d          }t          j        | j        t
                    }t          j        | |||                              |          S )Nr%   rm  )	r   r	   r   r   r   r   r   varr(   )r   rA   rB   r)   r4   s        r   r  r    sr    %d++D!A&qw	::M%agu55L6!$GGGNN  r   c                     t          |          }t          | j                  }|dv rd}n|dv rd}t          j        | ||                              |          S )Nrg  r#   ri  rl  r@   )r   r   r   r   sumr(   r<  s       r   r  r    sg    %d++Dag&&E)))	%	%	%6!$22299%@@@r   c                 \    |pt          j                    }t          j        | |||          S r  )r   rN   r   eyer  s       r   r  r  &  r  r   c           
         t          | t          t          f          st          |           } t          |t          t          f          st          |          }t	          j        t          | dt          |                     t          |dt          |                              }t          | |          } t          ||          }t          j	        | |          S r   )
r   r   r   r	   r   r   r   r   r   floor_divider   s      r   r  r  +  s    b3,'' #r""b3,'' #r""GT"XX&&GT"XX(F(F E 
2u	%	%B	2u	%	%B?2r"""r   c                 ,    t          j        | |          S r   )r   logical_xorr   s     r   r  r  8  r.  r   validc           
      &   t          j        t          | dt          |                     t          |dt          |                              }|dk    rd}n|dvrd}t	          | |          } t	          ||          }t          j        | ||          S )Nr   rr   float64)r$   float16r  r%   )r   r   r   r   r	   r   	correlate)r   r   rc  r   s       r   r  r  <  s    GT"XX&&GT"XX&& E 	8	8	8	2u	%	%B	2u	%	%B<B%%%r   c                 0    t          j        | ||          S )N)default)r   select)condlist
choicelistr  s      r   r  r  K  s    9Xz7;;;;r   c                 Z    t          t          j                            |                     S r   )rV  r   linalgslogdetrW   s    r   r  r  O  s     ""1%%&&&r   )NF)NFNr   )NNN)r   )NN)Nr   F)r   )r   r   r   N)r   r   r!   )r!   r   )r  TFNr   )r  Tr3  Nr   )rK  NN)r`  N)Nro  F)r   )Nr   N)r  )numpyr   	keras.srcr   keras.src.backendr   r   keras.src.backend.commonr   &keras.src.backend.common.backend_utilsr   keras.src.backend.numpy.corer	   r   r/   r6   r9   r=   rC   rH   rO   rS   rV   rZ   r]   ra   rc   rf   rj   rm   rs   rw   rz   r|   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r	  r  r  r  r  r  r  r  r  r"  r$  r'  r)  r+  r-  r0  r2  r6  r8  r;  r@  rB  rD  rF  rJ  rP  rR  rW  rY  r[  r]  r_  rd  rn  rr  ru  rw  ry  r{  r~  r  r  r  r  r  r  r  r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r   <module>r     sj
             $ $ $ $ $ $ / / / / / / + + + + + + M M M M M M : : : : : :  K K K$  + + +  I I I ID D D D
' ' ' '
( ( ( (
    3 3 3 3
3 3 3 3
4 4 4 4
4 4 4 4
( ( ( (	: 	: 	: 	:              F F F F
F F F F
4 4 4 4
- - - -5 5 5 5< < < <>% % %  2 2 2) ) ) )          M M M M   "1 1 1 10 0 0 0   C C C C& & & &1 1 1  ( ( ( (
    # # #
  ! ! ! !
  3 3 3 3
4 4 4 4  $ $ $  ' ' ' '
            ! ! !
 IJ   ," " "$ $ $$ $ $# # #     " " "  ! ! !   &  D D D D
  . . . . .D D D D
    B B BC C C C  G G G     ) ) ) )( ( ( (  
5 
5 
5 
5	A 	A 	A 	A   "      , , , ,# # #( ( ( (        ! ! ! !
7 7 7 7
" " " "3 3 3 34 4 4* * * *
5 5 5 5
    + + + +* * * *  M M M M, , , ,
           #'$ H H H H H# # #"  3 3 3        # # #$ $ $ $
& & & &
   A A A A, , , ,

# 
# 
#" " "& & & &< < < <' ' ' ' 'r   