
    2Vh~                        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 dd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d 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+d' Z,d( Z-dd)Z.d* Z/d+ Z0d, Z1d- Z2d. Z3d/ Z4d0 Z5d1 Z6d2 Z7d3 Z8d4 Z9d5 Z:d6 Z;dd7Z<d8 Z=d9 Z>d: Z?d; Z@d< ZAdd=ZBdd>ZCdd?ZDdd@ZEddAZFddBZGddCZHddDZIdE ZJdF ZKddGZLdH ZMdI ZNdJ ZOdK ZPdL ZQddMZRdN ZSddOZTddPZUdQ ZVdR ZWdS ZXddTZYdU ZZddVZ[dW Z\dX Z]dY Z^dZ Z_d[ Z`	 dd\Zad] Zbd^ Zcd_ Zdd` Zeda Zfdb Zgdc Zhdd ZiddeZjdf ZkddgZldhdidjZmddkZndl Zodm Zpdn ZqddoZrdp Zsdq Ztdr ZuddsZvddtZwdu ZxddvZyddwZzddxZ{dy Z|dz Z}d{ Z~d| Zdd}Zd~ ZddZddZd Zd Zd Zd Zd ZddZddZddZddZd ZddZddZd Zd ZddZddZd ZddZddZddZddZd Zd Zd Zd ZddddZd Zd Zd Zd Zd Zd Zd Zd ZddZddZddZddZddZd Zd ZddZddZd ZddZd Zy)    N)tree)config)standardize_dtype)dtypes)standardize_axis_for_numpyconvert_to_tensorc                     | j                   dk  rt        d| j                          t        |      dk7  s|d   |d   k(  rt        d| d      t        j                  | ||      S )z5Rotate an array by 90 degrees in the specified plane.   zBInput array must have at least 2 dimensions. Received: array.ndim=r      zInvalid axes: z3. Axes must be a tuple of two different dimensions.)kaxes)ndim
ValueErrorlennprot90)arrayr   r   s      M/home/dcms/DCMS/lib/python3.12/site-packages/keras/src/backend/numpy/numpy.pyr   r      s|    zzA~$$)JJ<1
 	
 4yA~aDG+TF #+ +
 	
 88EQT**    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 Ndtype)

isinstanceintfloatr	   r   result_typegetattrtyper   addx1x2r   s      r   r    r       s    b3,'r"b3,'r"GT"X&GT"X&E 
2u	%B	2u	%B66"b>r   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|i |j                  |      S )	Nc              3   F   K   | ]  }t        |j                          y wN)r   r   ).0xs     r   	<genexpr>zeinsum.<locals>.<genexpr>*   s      N!2177!; Ns   !r   r   int8int32bfloat16float32c                 &    | j                        S r&   astype)r(   compute_dtypes    r   <lambda>zeinsum.<locals>.<lambda>6   s    AHH],C r   )r   map_structurer	   listsetr   r   r   r   einsumr0   )
subscriptsoperandskwargsdtypes_to_resolveresult_dtyper1   s        @r   r6   r6   (   s    !!"3X>HS NX NNO "'8';v'E))+<=$J&%M!!"CXNH99Z5(5f5<<\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   r=   r=   :       b3,'r"b3,'r"GT"X&GT"X&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                        }| j                  |      } |j                  |      }t        j                  | |      j                  |      S )Nr*   r+   )r	   r   r   r   r   r0   r   matmul)r"   r#   x1_dtypex2_dtyper   s        r   r@   r@   H   s    	2	B	2	B !*H *H6h&0""288RXX6	5	B	5	B99R##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   rD   rD   X   r>   r   c                     t        |      }t        |       } t        | j                        }d|v s|dk(  r!t	        j
                  | j                  d      }n|}t        j                  | ||      j                  |      S )Nr   boolr-   axiskeepdims)	r   r	   r   r   r   r   r   meanr0   )r(   rH   rI   	ori_dtyper;   s        r   rJ   rJ   f   sl    %d+D!A!!''*I	Y&0))!''9= 7714(3::<HHr   c                 J    t        |      }t        j                  | |||      S N)rH   rI   initial)r   r   maxr(   rH   rI   rN   s       r   rO   rO   q   !    %d+D66!$7CCr   c                 `    |xs t        j                         }t        j                  | |      S Nr   )r   floatxr   onesshaper   s     r   rV   rV   v   s#    $V]]_E775&&r   c                 `    |xs t        j                         }t        j                  | |      S rS   )r   rU   r   zerosrW   s     r   rZ   rZ   {   #    $V]]_E88E''r   c                 ,    t        j                  |       S r&   )r   absoluter(   s    r   r]   r]          ;;q>r   c                     t        |       S r&   )r]   r^   s    r   absra      s    A;r   c                 H    t        |      }t        j                  | ||      S NrG   )r   r   allr(   rH   rI   s      r   rd   rd          %d+D66!$22r   c                    t        |       } t        | j                        dk(  rt        j                         }n$t        j                  | j                  t              }| j                  |      } t        j                  |       S Nint64)r	   r   r   r   rU   r   r   r   r0   r   angler(   r   s     r   rj   rj      sY    !A!W,""177E2	A88A;r   c                 H    t        |      }t        j                  | ||      S rc   )r   r   anyre   s      r   rm   rm      rf   r   c                 H    t        |      }t        j                  | ||      S rc   )r   r   amaxre   s      r   ro   ro          %d+D7714(33r   c                 H    t        |      }t        j                  | ||      S rc   )r   r   aminre   s      r   rr   rr      rp   r   c                    t        |      }t        |       } t        |      }t        j                  | j                  |j                        }| j                  |      } |j                  |      }t        j                  | ||      S NrH   )r   r	   r   r   r   r0   r   append)r"   r#   rH   r   s       r   rv   rv      si    %d+D	2	B	2	Brxx2E	5	B	5	B99R$''r   c           	         |et        | dt        |             t        |dt        |            g}|%|j                  t        |dt        |                   t        j                  | }t        j                  | |||      S )Nr   )stepr   )r   r   rv   r   r   r   arange)startstoprx   r   r:   s        r   ry   ry      sx    }E7DK0D'4:.
 $$WT7DJ%GH""$5699UDt599r   c                    t        |       } t        | j                        dk(  rt        j                         }n$t        j                  | j                  t              }| j                  |      } t        j                  |       S rh   )r	   r   r   r   rU   r   r   r   r0   r   arccosrk   s     r   r}   r}      Y    !A!W,""177E2	A99Q<r   c                    t        |       } t        | j                        dk(  rt        j                         }n$t        j                  | j                  t              }| j                  |      } t        j                  |       S rh   )r	   r   r   r   rU   r   r   r   r0   r   arccoshrk   s     r   r   r      Y    !A!W,""177E2	A::a=r   c                    t        |       } t        | j                        dk(  rt        j                         }n$t        j                  | j                  t              }| j                  |      } t        j                  |       S rh   )r	   r   r   r   rU   r   r   r   r0   r   arcsinrk   s     r   r   r      r~   r   c                    t        |       } t        | j                        dk(  rt        j                         }n$t        j                  | j                  t              }| j                  |      } t        j                  |       S rh   )r	   r   r   r   rU   r   r   r   r0   r   arcsinhrk   s     r   r   r      r   r   c                    t        |       } t        | j                        dk(  rt        j                         }n$t        j                  | j                  t              }| j                  |      } t        j                  |       S rh   )r	   r   r   r   rU   r   r   r   r0   r   arctanrk   s     r   r   r      r~   r   c                     t        |       } t        |      }t        j                  | j                  |j                  t              }| j                  |      } |j                  |      }t        j                  | |      S r&   )r	   r   r   r   r   r0   r   arctan2r!   s      r   r   r      s_    	2	B	2	Brxx59E	5	B	5	B::b"r   c                    t        |       } t        | j                        dk(  rt        j                         }n$t        j                  | j                  t              }| j                  |      } t        j                  |       S rh   )r	   r   r   r   rU   r   r   r   r0   r   arctanhrk   s     r   r   r      r   r   c                    t        |       } t        |      }t        | j                        }d|vs| j                  dk(  r't        j                  | ||      j                  d      S t        j                  |d      }| j                  |      } | dk(  t        j                  |       z  }t        j                  |t        j                  | j                        j                   |       } t        j                  | ||      j                  d      S Nr   r   rG   r+   r-           )r	   r   r   r   r   r   argmaxr0   r   r   signbitwherefinfotinyr(   rH   rI   r   is_negative_zeros        r   r   r         !A%d+Dagg&Eeqvv{yy9@@IIui0E	ASBJJqM1
!BHHQWW$5$:$:#:A>A99QTH5<<WEEr   c                    t        |       } t        |      }t        | j                        }d|vs| j                  dk(  r't        j                  | ||      j                  d      S t        j                  |d      }| j                  |      } | dk(  t        j                  |       z  }t        j                  |t        j                  | j                        j                   |       } t        j                  | ||      j                  d      S r   )r	   r   r   r   r   r   argminr0   r   r   r   r   r   r   r   s        r   r   r     r   r   c                 d    t        |      }t        j                  | |      j                  d      S Nru   r+   )r   r   argsortr0   r(   rH   s     r   r   r     s(    %d+D::ad#**733r   c                     t        | |      S rS   r   rk   s     r   r   r   "  s    Qe,,r   c                 >   t        |      }t        |       } | j                  t        g}|&t        |      }|j	                  |j                         t        j                  | }| j                  |      } ||j                  |      }t        j                  | ||      S )N)weightsrH   )
r   r	   r   r   rv   r   r   r0   r   average)r(   rH   r   r:   r   s        r   r   r   &  s    %d+D!A%(#G,  / 12E	A..'::at44r   c                     t        |       } t        j                  |       j                  t	        j
                               S r&   )r	   r   bartlettr0   r   rU   r^   s    r   r   r   4  +    !A;;q>  11r   c                     t        |       } t        j                  |       j                  t	        j
                               S r&   )r	   r   hammingr0   r   rU   r^   s    r   r   r   9  s+    !A::a=00r   c           	         |rt        d      t        |       } | j                  g}|9t        |      }|j                  |j                         t	        j
                  | }nd}t        | j                        dk(  re|fd}t        t        ||             }n$fd}t        t        |t        | |                  }t        j                  |      j                  |      S t        j                  | |      j                  |      S )Nz2Unsupported value `sparse=True` with numpy backendr+   r   c                 2    t        j                  |       S )N)	minlengthr   bincount)arrr   s    r   bincount_fnzbincount.<locals>.bincount_fnL  s    {{3)<<r   c                 @    t        j                  | d   | d         S )Nr   r   )r   r   r   )arr_wr   s    r   r   zbincount.<locals>.bincount_fnR  s#    {{!HeAh) r   )r   r	   r   rv   r   r   r   rX   r4   mapzipr   stackr0   r   )r(   r   r   sparser:   r   r   	bincountss     `     r   r   r   >  s    MNN!A	#G,  /""$56
177|q?= Sa01I
 Sc!Wo>?Ixx	"))%00;;q'9-44U;;r   c                 Z    t        |       } t        |      }t        j                  | |      S r&   )r	   r   bitwise_andr(   ys     r   r   r   ]  '    !A!A>>!Qr   c                 B    t        |       } t        j                  |       S r&   )r	   r   bitwise_notr^   s    r   bitwise_invertr   c  s    !A>>!r   c                     t        |       S r&   )r   r^   s    r   r   r   h  s    !r   c                 Z    t        |       } t        |      }t        j                  | |      S r&   )r	   r   
bitwise_orr   s     r   r   r   l  s'    !A!A==Ar   c                 Z    t        |       } t        |      }t        j                  | |      S r&   )r	   r   bitwise_xorr   s     r   r   r   r  r   r   c                 z    t        |       } t        |t              st        |      }t        j                  | |      S r&   )r	   r   r   r   
left_shiftr   s     r   bitwise_left_shiftr   x  s1    !Aaa ==Ar   c                     t        | |      S r&   )r   r   s     r   r   r     s    a##r   c                 z    t        |       } t        |t              st        |      }t        j                  | |      S r&   )r	   r   r   r   right_shiftr   s     r   bitwise_right_shiftr     s1    !Aaa >>!Qr   c                     t        | |      S r&   )r   r   s     r   r   r     s    q!$$r   c                     t        |       } t        j                  |       j                  t	        j
                               S r&   )r	   r   blackmanr0   r   rU   r^   s    r   r   r     r   r   c                 .    t        j                  | |      S r&   )r   broadcast_to)r(   rX   s     r   r   r     s    ??1e$$r   c                    t        |       } t        | j                        dk(  rt        j                         }n$t        j                  | j                  t              }| j                  |      } t        j                  |       S rh   )r	   r   r   r   rU   r   r   r   r0   r   ceilrk   s     r   r   r     Y    !A!W,""177E2	A771:r   c                     t        |       } t        | j                        }|dk(  rd}t        j                  | ||      j                  |      S NrF   r+   )r	   r   r   r   clipr0   )r(   x_minx_maxr   s       r   r   r     sD    !Aagg&E771eU#**511r   c                    t        |      }t        | D cg c]  }t        |dt        |             c}      }t	        |      dkD  r+t        j                  | t        j                  fd|       } t        j                  | |      S c c}w )Nr   r   c                 8    t        |       j                        S r&   r	   r0   rk   s    r   r2   zconcatenate.<locals>.<lambda>      '*11%8 r   ru   )r   r5   r   r   r   r   r   r   r3   r   concatenate)xsrH   r(   	dtype_setr   s       @r   r   r     sx    %d+D2>aWQa1>?I
9~""I.8"
 >>"4(( ?   B
c                 ,    t        j                  |       S r&   )r   	conjugater^   s    r   r   r     s    <<?r   c                     t        |       S r&   )r   r^   s    r   conjr     s    Q<r   c                 ,    t        j                  |       S r&   )r   copyr^   s    r   r   r         771:r   c                    t        |       } t        | j                        dk(  rt        j                         }n$t        j                  | j                  t              }| j                  |      } t        j                  |       S rh   )r	   r   r   r   rU   r   r   r   r0   r   cosrk   s     r   r   r     Y    !A!W,""177E2	A66!9r   c                    t        |       } t        | j                        dk(  rt        j                         }n$t        j                  | j                  t              }| j                  |      } t        j                  |       S rh   )r	   r   r   r   rU   r   r   r   r0   r   coshrk   s     r   r   r     r   r   c                 v    t        |      }t        t        j                  | |            j	                  d      S r   )r   r	   r   count_nonzeror0   r   s     r   r   r     s1    %d+D R--ad;<CCGLLr   c                    t        |      }t        |       } t        |      }t        j                  | j                  |j                        }| j                  |      } |j                  |      }t        j                  | |||||      S )N)axisaaxisbaxiscrH   )r   r	   r   r   r   r0   r   cross)r"   r#   r   r   r   rH   r   s          r   r   r     sy    %d+D	2	B	2	Brxx2E	5	B	5	B88

 r   c                     t        |      }t        j                  |xs | j                        }|dk(  rd}t	        j
                  | ||      S NrF   r+   )rH   r   )r   r   r   r   r   cumprodr(   rH   r   s      r   r   r     sD    %d+Du/0E::ad%00r   c                     t        |      }t        j                  |xs | j                        }|dk(  rd}t	        j
                  | ||      S r   )r   r   r   r   r   cumsumr   s      r   r   r     sD    %d+Du/0E99QT//r   c                 0    t        j                  | |      S N)r   )r   diagr(   r   s     r   r   r         771?r   c                 0    t        j                  | |      S r   )r   diagflatr   s     r   r   r      s    ;;qAr   c                 `    t        |      }t        |      }t        j                  | |||      S )N)offsetaxis1axis2)r   r   diagonal)r(   r   r   r   s       r   r  r    s+    &u-E&u-E;;quEBBr   c                 2    t        j                  | ||      S )N)nrH   )r   diff)ar  rH   s      r   r  r  
  s    771%%r   c                 h    t        j                  | |      j                  t         j                        S r&   )r   digitizer0   r+   )r(   binss     r   r  r    s"    ;;q$&&rxx00r   c                     t        |       } t        |      }t        j                  | j                  |j                        }| j	                  |      } |j	                  |      }t        j                  | |      S r&   )r	   r   r   r   r0   r   dot)r(   r   r   s      r   r
  r
    sZ    !A!Aqww0E	A	A66!Q<r   c                 `    |xs t        j                         }t        j                  | |      S rS   )r   rU   r   emptyrW   s     r   r  r    r[   r   c                 .    t        j                  | |      S r&   )r   equalr"   r#   s     r   r  r     s    88Br   c                     t        |       } t        | j                        }d|v s|dk(  r#| j                  t	        j
                               } t        j                  |       S Nr   rF   )r	   r   r   r0   r   rU   r   expr(   rK   s     r   r  r  $  sK    !A!!''*I	Y&0HHV]]_%66!9r   c                     t        |       } t        | j                        }d|v s|dk(  r#| j                  t	        j
                               } t        j                  |       S r  )r	   r   r   r0   r   rU   r   exp2r  s     r   r  r  ,  sK    !A!!''*I	Y&0HHV]]_%771:r   c                 D    t        |      }t        j                  | |      S r&   )r   r   expand_dimsr   s     r   r  r  4  s    %d+D>>!T""r   c                     t        |       } t        | j                        }d|v s|dk(  r#| j                  t	        j
                               } t        j                  |       S r  )r	   r   r   r0   r   rU   r   expm1r  s     r   r  r  9  sK    !A!!''*I	Y&0HHV]]_%88A;r   c                 F    t        |      }t        j                  | |      S rt   )r   r   flipr   s     r   r  r  A      %d+D7714  r   c                    t        |       } t        | j                        dk(  rt        j                         n#t        j                  | j                  t              }| j                  |      } t        j                  |       S rh   )r	   r   r   r   rU   r   r   r   r0   r   floorrk   s     r   r  r  F  s`    !A QWW%0 	/ 

 	
A88A;r   c                 b    |xs t        j                         }t        j                  | ||      S rS   )r   rU   r   full)rX   
fill_valuer   s      r   r   r   Q  s%    $V]]_E775*E22r   c                 2    t        j                  | ||      S rS   )r   	full_like)r(   r!  r   s      r   r#  r#  V  s    <<:U33r   c                 .    t        j                  | |      S r&   )r   greaterr  s     r   r%  r%  Z  s    ::b"r   c                 .    t        j                  | |      S r&   )r   greater_equalr  s     r   r'  r'  ^  s    B##r   c                    t        | D cg c]  }t        |dt        |             c}      }t        |      dkD  r+t	        j
                  | t        j                  fd|       } t        j                  |       S c c}w )Nr   r   c                 8    t        |       j                        S r&   r   rk   s    r   r2   zhstack.<locals>.<lambda>g  r   r   )
r5   r   r   r   r   r   r   r3   r   hstackr   r(   r   r   s      @r   r*  r*  b  k    2>aWQa1>?I
9~""I.8"
 99R= ?   A=c                 `    |xs t        j                         }t        j                  | |      S rS   )r   rU   r   identity)r  r   s     r   r/  r/  l  s#    $V]]_E;;q&&r   c                 ,    t        j                  |       S r&   )r   imagr^   s    r   r1  r1  q  r   r   c                 4    t        j                  | ||||      S r&   )r   isclose)r"   r#   rtolatol	equal_nans        r   r3  r3  u  s    ::b"dD)44r   c                 ,    t        j                  |       S r&   )r   isfiniter^   s    r   r8  r8  y  r_   r   c                 ,    t        j                  |       S r&   )r   isinfr^   s    r   r:  r:  }      88A;r   c                 ,    t        j                  |       S r&   )r   isnanr^   s    r   r=  r=    r;  r   c                 .    t        j                  | |      S r&   )r   lessr  s     r   r?  r?    s    772r?r   c                 .    t        j                  | |      S r&   )r   
less_equalr  s     r   rA  rA        ==R  r   c           	          t        |      }|Ct        | dt        |             t        |dt        |            t        g}t	        j
                  | }t        j                  | ||||||      S )Nr   )numendpointretstepr   rH   )r   r   r   r   r   r   r   linspace)rz   r{   rD  rE  rF  r   rH   r:   s           r   rG  rG    sw     &d+D}E7DK0D'4:.

 ""$56;; r   c                     t        |       } t        | j                        dk(  rt        j                         n#t        j                  | j                  t              }t        j                  | |      S Nri   rT   )
r	   r   r   r   rU   r   r   r   r   logrk   s     r   rJ  rJ    sV    !A QWW%0 	/ 

 66!5!!r   c                     t        |       } t        | j                        dk(  rt        j                         n#t        j                  | j                  t              }t        j                  | |      S rI  )
r	   r   r   r   rU   r   r   r   r   log10rk   s     r   rL  rL    V    !A QWW%0 	/ 

 88AU##r   c                     t        |       } t        | j                        dk(  rt        j                         n#t        j                  | j                  t              }t        j                  | |      S rI  )
r	   r   r   r   rU   r   r   r   r   log1prk   s     r   rO  rO    rM  r   c                     t        |       } t        | j                        dk(  rt        j                         n#t        j                  | j                  t              }t        j                  | |      S rI  )
r	   r   r   r   rU   r   r   r   r   log2rk   s     r   rQ  rQ    sV    !A QWW%0 	/ 

 771E""r   c                     t        |       } t        |      }t        j                  | j                  |j                  t              }| j                  |      } |j                  |      }t        j                  | |      S r&   )r	   r   r   r   r   r0   r   	logaddexpr!   s      r   rS  rS    s_    	2	B	2	Brxx59E	5	B	5	B<<Br   c                 .    t        j                  | |      S r&   )r   logical_andr  s     r   rU  rU        >>"b!!r   c                 ,    t        j                  |       S r&   )r   logical_notr^   s    r   rX  rX    s    >>!r   c                 .    t        j                  | |      S r&   )r   
logical_orr  s     r   rZ  rZ    rB  r   c           	          |Ct        | dt        |             t        |dt        |            t        g}t        j                  | }t        j                  | ||||||      S )Nr   )rD  rE  baser   rH   )r   r   r   r   r   r   logspace)rz   r{   rD  rE  r\  r   rH   r:   s           r   r]  r]    sk    }E7DK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   r_  r_        b3,'r"b3,'r"GT"X&GT"X&E 
2u	%B	2u	%B::b"r   c                     t        j                  | j                  t              }t	        j
                  | ||      j                  |      S rc   )r   r   r   r   r   medianr0   r(   rH   rI   r   s       r   rb  rb    s6    qww.E99QTH5<<UCCr   xy)indexingc                 ,    t        j                  |d| iS )Nre  )r   meshgrid)re  r(   s     r   rg  rg    s    ;;-H--r   c                 J    t        |      }t        j                  | |||      S rM   )r   r   minrP   s       r   ri  ri  
  rQ   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   rk  rk    r`  r   c                     t        |       } t        |      }t        j                  | j                  |j                        }|dk(  rd}| j	                  |      } |j	                  |      }t        j                  | |      S r   )r	   r   r   r   r0   r   modr!   s      r   rm  rm    sh    	2	B	2	Brxx2E	5	B	5	B66"b>r   c                 2    t        j                  | ||      S )N)sourcedestination)r   moveaxis)r(   ro  rp  s      r   rq  rq  (  s    ;;q[AAr   c                 4    t        j                  | |||      S )N)nanposinfneginf)r   
nan_to_num)r(   rs  rt  ru  s       r   rv  rv  ,  s    ==F6BBr   c                 ,    t        j                  |       S r&   )r   r   r^   s    r   r   r   0  r   r   c                 L    t        d t        j                  |       D              S )Nc              3   >   K   | ]  }|j                  d         yw)r+   Nr/   )r'   indicess     r   r)   znonzero.<locals>.<genexpr>5  s     FW(Fs   )tupler   nonzeror^   s    r   r|  r|  4  s    F

1FFFr   c                 .    t        j                  | |      S r&   )r   	not_equalr  s     r   r~  r~  8  s    <<Br   c                 0    t        j                  | |      S rS   )r   
zeros_likerk   s     r   r  r  <  s    ==%((r   c                 0    t        j                  | |      S rS   )r   	ones_likerk   s     r   r  r  @  s    <<''r   c                     t        |       } t        |      }t        j                  | j                  |j                        }| j	                  |      } |j	                  |      }t        j                  | |      S r&   )r	   r   r   r   r0   r   outerr!   s      r   r  r  D  ]    	2	B	2	Brxx2E	5	B	5	B88Br   c                 l    i }||dk7  rt        d|       ||d<   t        j                  | |fd|i|S )NconstantzZArgument `constant_values` can only be provided when `mode == 'constant'`. Received: mode=constant_valuesmode)r   r   pad)r(   	pad_widthr  r  r9   s        r   r  r  M  sY    F":""&) 
 %4 !66!Y4T4V44r   c                     t        |      }t        |       } |,t        j                  | j                        }|dv rd}n|dv rd}t        j                  | |||      S )NrF   r*   int16r+   uint8uint16uint32rH   rI   r   )r   r	   r   r   r   r   prodrc  s       r   r  r  Z  s`    %d+D!A}""177+--E))E7714(%@@r   c                 v   t        |      }t        |       } t        | j                        }|dk(  r#| j	                  t        j                               } |dk(  rt        j                         }n$t        j                  | j                  t              }t        j                  | ||||      j	                  |      S )NrF   ri   )rH   methodrI   )r   r	   r   r   r0   r   rU   r   r   r   r   quantile)r(   qrH   r  rI   rK   r   s          r   r  r  f  s    %d+D!A!!''*IFHHV]]_%G""177E2;;	14fUmr   c                 ,    t        j                  |       S r&   )r   ravelr^   s    r   r  r  w  r;  r   c                     t        j                  | j                        t        fdt	        j
                  | |      D              S )Nc              3   @   K   | ]  }|j                          y wr&   r/   )r'   rz  r   s     r   r)   z unravel_index.<locals>.<genexpr>}  s      ")us   )r   r   r   r{  r   unravel_index)r(   rX   r   s     @r   r  r  {  s>    qww'E -/-=-=a-G  r   c                 ,    t        j                  |       S r&   )r   realr^   s    r   r  r    r   r   c                 ,    t        j                  |       S r&   )r   
reciprocalr^   s    r   r  r    s    ==r   c                 2    t        j                  | ||      S rt   )r   repeat)r(   repeatsrH   s      r   r  r    s    99Qd++r   c                 .    t        j                  | |      S r&   )r   reshape)r(   newshapes     r   r  r    s    ::a""r   c                 2    t        j                  | ||      S rt   )r   roll)r(   shiftrH   s      r   r  r    s    771e$''r   c                    t        |       dk7  rt        d| j                         t        |       t	        j
                  t        j                        j                  k  rdnd}t	        j                  | ||      j                  |      S )Nr   z`searchsorted` only supports 1-D sorted sequences. You can use `keras.ops.vectorized_map` to extend it to N-D sequences. Received: sorted_sequence.shape=r+   ri   )side)
r   r   rX   r   r   iinfor+   rO   searchsortedr0   )sorted_sequencevaluesr  out_types       r   r  r    s    O!% &5%:%:$;=
 	
 '288BHH+=+A+AAw  ???F>EEhOOr   c                 ,    t        j                  |       S r&   )r   signr^   s    r   r  r    r   r   c                 ,    t        j                  |       S r&   )r   r   r^   s    r   r   r     s    ::a=r   c                    t        |       } t        | j                        dk(  rt        j                         }n$t        j                  | j                  t              }| j                  |      } t        j                  |       S rh   )r	   r   r   r   rU   r   r   r   r0   r   sinrk   s     r   r  r    r   r   c                    t        |       } t        | j                        dk(  rt        j                         }n$t        j                  | j                  t              }| j                  |      } t        j                  |       S rh   )r	   r   r   r   rU   r   r   r   r0   r   sinhrk   s     r   r  r    r   r   c                 ,    t        j                  |       S r&   )r   sizer^   s    r   r  r    r   r   c                 F    t        |      }t        j                  | |      S rt   )r   r   sortr   s     r   r  r    r  r   c                 H    t        |      }t        j                  | ||      S rt   )r   r   split)r(   indices_or_sectionsrH   s      r   r  r    s     %d+D88A*66r   c                    t        |      }t        | D cg c]  }t        |dt        |             c}      }t	        |      dkD  r+t        j                  | t        j                  fd|       } t        j                  | |      S c c}w )Nr   r   c                 8    t        |       j                        S r&   r   )r  r   s    r   r2   zstack.<locals>.<lambda>  s    ):1)=)D)DU)K r   ru   )r   r5   r   r   r   r   r   r   r3   r   r   )r(   rH   r  r   r   s       @r   r   r     st    %d+D1=aWQa1=>I
9~""I.KQO88AD!!	 >r   c                     t        |      }t        |       } t        | j                        }d|v s|dk(  r#| j	                  t        j                               } t        j                  | ||      S )Nr   rF   rG   )	r   r	   r   r   r0   r   rU   r   std)r(   rH   rI   rK   s       r   r  r    sZ    %d+D!A!!''*I	Y&0HHV]]_%66!$22r   c                 2    t        j                  | ||      S )N)r   r   )r   swapaxes)r(   r   r   s      r   r  r    s    ;;qU33r   c                 H    t        |      }t        j                  | ||      S rt   )r   r   taker(   rz  rH   s      r   r  r    s    %d+D771gD))r   c                 H    t        |      }t        j                  | ||      S rt   )r   r   take_along_axisr  s      r   r  r    s!    %d+Dat44r   c                    t        |       } t        | j                        dk(  rt        j                         }n$t        j                  | j                  t              }| j                  |      } t        j                  |       S rh   )r	   r   r   r   rU   r   r   r   r0   r   tanrk   s     r   r  r    r   r   c                    t        |       } t        | j                        dk(  rt        j                         }n$t        j                  | j                  t              }| j                  |      } t        j                  |       S rh   )r	   r   r   r   rU   r   r   r   r0   r   tanhrk   s     r   r  r    r   r   c                 0   t        |t              rt        |      n|}t        |       } t        |      }t	        j
                  | j                  |j                        }| j                  |      } |j                  |      }t        j                  | ||      S N)r   )
r   r4   r{  r	   r   r   r   r0   r   	tensordot)r"   r#   r   r   s       r   r  r    ss    $T405;dD	2	B	2	Brxx2E	5	B	5	B<<BT**r   c                 0    t        j                  | |      S )N)decimals)r   round)r(   r  s     r   r  r    s    88A))r   c                 .    t        j                  | |      S r&   )r   tile)r(   r  s     r   r  r    s    771gr   c                     t        |      }t        |      }t        |       } t        | j                        }|dvrt	        j
                  |d      }t        j                  | ||||      S )N)ri   r  uint64r+   )r   r   r   r   )r   r	   r   r   r   r   r   trace)r(   r   r   r   r   s        r   r  r    s`    &u-E&u-E!Aagg&E11""5'288AfEeLLr   c                 d    |xs t        j                         }t        j                  | |||      S N)Mr   r   )r   rU   r   triNr  r   r   s       r   r  r    '    $V]]_E66!qAU++r   c                 0    t        j                  | |      S r   )r   trilr   s     r   r  r  #  r   r   c                 0    t        j                  | |      S r   )r   triur   s     r   r  r  '  r   r   c                     t        |       } t        | j                        }d|v sd|k(  r| S t        j                  |       S r  )r	   r   r   r   truncrk   s     r   r  r  +  s:    !Aagg&E~588A;r   c                     t        |       } t        |      }t        j                  | j                  |j                        }| j	                  |      } |j	                  |      }t        j                  | |      S r&   )r	   r   r   r   r0   r   vdotr!   s      r   r  r  3  s\    	2	B	2	Brxx2E	5	B	5	B772r?r   c                     t        |       } t        |      }t        j                  | j                  |j                        }| j	                  |      } |j	                  |      }t        j                  | |      S r&   )r	   r   r   r   r0   r   innerr!   s      r   r  r  <  r  r   c                    t        | D cg c]  }t        |dt        |             c}      }t        |      dkD  r+t	        j
                  | t        j                  fd|       } t        j                  |       S c c}w )Nr   r   c                 8    t        |       j                        S r&   r   rk   s    r   r2   zvstack.<locals>.<lambda>J  r   r   )
r5   r   r   r   r   r   r   r3   r   vstackr+  s      @r   r  r  E  r,  r-  excluded	signaturec                2    t        j                  | ||      S )Nr  )r   	vectorize)pyfuncr  r  s      r   r  r  O  s    <<Y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   r   )	conditionr"   r#   r   s       r   r   r   S  s    	~"."sEl+"2&B"sEl+"2&B""Bb*Bb*
 r5)r5)xx	2r**xx	""r   c           
      h   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  d  s    b3,'r"b3,'r"GT"X&GT"X&E
 
2u	%B	2u	%B99R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(  t        j                  d|      t        j                  | |            S )Nr   r   rT   )r   r   r   r	   r   r   r   r   r   r   r   r  r!   s      r   divide_no_nanr  s  s    b3,'r"b3,'r"GT"X&GT"X&E
 
2u	%B	2u	%B 88B!GRXXau5ryyR7HIIr   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"X&GT"X&E 
2u	%B	2u	%B88Br   c                 ,    t        j                  |       S r&   )r   negativer^   s    r   r  r    r_   r   c                     t        |       } t        | j                        dk(  r| j                  d      } t	        j
                  |       S r   )r	   r   r   r0   r   squarer^   s    r   r  r    s9    !A!V+HHW99Q<r   c                     t        |       } t        | j                        dk(  rt        j                         n#t        j                  | j                  t              }t        j                  | |      S rI  )
r	   r   r   r   rU   r   r   r   r   sqrtrk   s     r   r  r    sV    !A QWW%0 	/ 

 771E""r   c                 F    t        |      }t        j                  | |      S rt   )r   r   squeezer   s     r   r  r    s    %d+D::ad##r   c                 j    t        |t              rt        |      n|}t        j                  | |      S r  )r   r4   r{  r   	transpose)r(   r   s     r   r  r    s'    $T405;dD<<%%r   c                    t        |      }t        |       } t        j                  | j                  d      }t        j                  | j                  t
              }t        j                  | |||      j                  |      S )Nr-   r  )	r   r	   r   r   r   r   r   varr0   )r(   rH   rI   r1   r;   s        r   r	  r	    sg    %d+D!A&&qww	:M%%aggu5L66!$GNN r   c                     t        |      }t        | j                        }|dv rd}n|dv rd}t        j                  | ||      j                  |      S )Nr  r+   r  r  rG   )r   r   r   r   sumr0   rc  s       r   r  r    sT    %d+Dagg&E))	%	%66!$299%@@r   c                 d    |xs t        j                         }t        j                  | |||      S r  )r   rU   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"X&GT"X(FE 
2u	%B	2u	%B??2r""r   c                 .    t        j                  | |      S r&   )r   logical_xorr  s     r   r  r    rV  r   c           
          t        j                  t        | dt        |             t        |dt        |                  }|dk(  rd}n|dvrd}t	        | |      } t	        ||      }t        j                  | ||      S )Nr   ri   float64)r,   float16r  r-   )r   r   r   r   r	   r   	correlate)r"   r#   r  r   s       r   r  r    sz    GT"X&GT"X&E 	8	8	2u	%B	2u	%B<<B%%r   c                 2    t        j                  | ||      S )N)default)r   select)condlist
choicelistr  s      r   r  r    s    99Xz7;;r   c                 R    t        t        j                  j                  |             S r&   )r{  r   linalgslogdetr^   s    r   r  r    s    ""1%&&r   c                 N    t        j                  | ||      j                  d      S )Nr+   )r   argpartitionr0   )r(   kthrH   s      r   r  r    s     ??1c4(//88r   c                 2    t        j                  | ||      S )N)r  range)r   	histogram)r(   r  r"  s      r   r#  r#    s    <<E22r   )r   )r   r   )NF)NFNr&   )NNN))NN)Nr   F)r   )r$  r$  r$  N)r   r   r   )r   r$  )gh㈵>g:0yE>F)2   TFNr   )r%  T
   Nr   )r   NN)r  N)NlinearF)left)r   )Nr   N)valid)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   r=   r@   rD   rJ   rO   rV   rZ   r]   ra   rd   rj   rm   ro   rr   rv   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  r  r  r  r  r  r  r   r#  r%  r'  r*  r/  r1  r3  r8  r:  r=  r?  rA  rG  rJ  rL  rO  rQ  rS  rU  rX  rZ  r]  r_  rb  rg  ri  rk  rm  rq  rv  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  r  r  r  r  r  r  r  r#   r   r   <module>r1     sx     $ / + M :+K$+ ID
'
(
3
3
4
4
(	:FF4
-52
1
<> 
 $ %2
%2)M"10C&1(
#
!
3
4$'
5!
 IJ,"$$# "!&D
  .D
BCG )(
5	A",#(P!
7
"34*
5
+*M,
 #'$ H#"J"#$
&
A,

#"&<'93r   