
    ij0                         d dl Z d dlZd dlmZ d dlmZ d dlmZ d dlm	Z	 d dlm
Z
 d dlmZ d dlmZ d dlmZ d d	lmZ d d
lmZ ddZddZd Zd Zd Zd Zd ZddZddZd ZddZddZddZddZddZ ddZ!y)     N)Model)Type)config)standardize_dtype)dtypes)OpenVINOKerasTensor)cast)convert_to_tensor)get_ov_outputc                 "#   t        j                  d       t        |       } t        |       }|j	                         }|t
        j                  k(  r3t        j                  |t
        j                        j                  d      }|j	                         }|j                         j                  j                         }t        j                  |d      j                  d      }t        j                  dt
        j                         j                  d      }t        j                  dt
        j                         j                  d      }t        j"                  t        j$                  |t        j                  dgt
        j                         j                  d      |      j                  d      t        j                  dgt
        j                         j                  d            j                  d      }	|dk(  rht        j                  dt
        j                         j                  d      }
t        j                  g t
        j                         j                  d      }nt        j&                  |t        j                  dgt
        j                         j                  d      t        j                  dgt
        j                         j                  d      t        j                  dgt
        j                         j                  d      t        j                  dgt
        j                         j                  d            j                  d      }t        j(                  ||d	      j                  d      }
t        j*                  t        j,                  |
|      j                  d      t        j,                  |	|      j                  d      t        j,                  |	|      j                  d      gd      j                  d      }t        j.                  ||d	      j                  d      }t        j0                  t        j                  d
|      j                  d      |      j                  d      }t        j2                  |	t        j                  dt
        j4                        j                  d            }t        j6                  |j                         |d      }t        j6                  |j                         |d      }t        j6                  g t
        j                   d      }t        j6                  g t
        j                   d      }t        j6                  g t
        j                   d      }|j                  d      }|j                  d      }|j                  d      }|j                  d      }t        j8                  ||      j                  d      }t        j&                  |t        j                  dgt
        j                         j                  d      t        j,                  ||      j                  d      t        j                  dgt
        j                         j                  d      t        j                  dgt
        j                         j                  d            j                  d      }t        j&                  |t        j,                  ||      j                  d      t        j,                  ||      j                  d      t        j                  dgt
        j                         j                  d      t        j                  dgt
        j                         j                  d            j                  d      }t        j&                  |t        j,                  ||      j                  d      t        j,                  ||      j                  d      t        j                  dgt
        j                         j                  d      t        j                  dgt
        j                         j                  d            j                  d      }t        j:                  ||d	d      j                  d      }t        j<                  ||      j                  d      }t        j&                  |t        j,                  ||      j                  d      t        j,                  ||      j                  d      t        j                  dgt
        j                         j                  d      t        j                  dgt
        j                         j                  d            j                  d      }t        j>                  |      j                  d      } t        j@                  ||       j                  d      }!t        jB                  |||t
        j                         j                  d      }"t        jD                  |"|      j                  d      }#t        j,                  t        j,                  |#|      j                  d      t        j                  dt
        j                         j                  d            j                  d      }$t        j0                  t        j                  d
|      j                  d      t        j                  |!d      j                  d            j                  d      }%t        jF                  |$|!|%      j                  d      }&t        j*                  t        j                  dgt
        j                         j                  d      t        j                  dgt
        j                         j                  d      t        j,                  ||      j                  d      gd      j                  d      }'t        j*                  t        j                  dgt
        j                         j                  d      t        j                  dgt
        j                         j                  d      t        j,                  t        j<                  t        j<                  ||      j                  d      |      j                  d      |      j                  d      gd      j                  d      }(t        jH                  |&|'|(d      j                  d      })t        jB                  |||t
        j                         j                  d      }*t        jJ                  |*|      j                  d      }+t        j                  |d      j                  d      },t        j0                  t        j,                  t        j,                  |+|      j                  d      t        j                  dt
        j                         j                  d            j                  d      |,      j                  d      }-t        j0                  t        j,                  t        j,                  |#|      j                  d      t        j                  dt
        j                         j                  d            j                  d      |,      j                  d      }.t        jL                  |-|.      j                  d      }/t        jF                  |/|)|      j                  d      }0t        j8                  ||      j                  d      }1t        j                  dt
        j4                        j                  d      }2tO        |0|1|2g|||||g      }3|jQ                  |3       |jS                  ddg       |jU                  ||       |jW                  |||0       |jW                  |||1       |jU                  ||
       |jU                  ||	       |jY                  |0d      }4|dk(  r&t        j"                  |4|      j                  d      }5nt        j*                  |t        j,                  |	|      j                  d      t        j,                  |	|      j                  d      gd      j                  d      }6t        j.                  |4|6d	      j                  d      }5|r}t[        tC        |            }7|7d   |7d   c|7d<   |7d<   t        j                  |7t
        j                         j                  d      }8t        j\                  |5|8      j                  d      }5|t
        j                  k(  r3t        j                  |5t
        j                        j                  d      }5t_        |5      S )NzzOpenVINO backend does not check for positive definiteness. Non-positive-definite inputs will silently produce NaN outputs.r   i32output_type      F        TAnameLkBNconstant)0warningswarnr
   r   get_element_typer   f64ov_opsetconvertf32outputget_partial_shaperank
get_lengthshape_ofr   r   squeezegatherslicereduce_prodconcat	unsqueezereshape	broadcastloopboolean	parameteraddmatmulsubtractsqrtdividerangegreater_equalselectpadequallogical_andr   set_functionset_special_body_portsset_invariant_inputset_merged_inputget_iter_valuelist	transposer   )9auppera_ovoriginal_type	work_typer&   a_shapezero_sone_sN_nodeB_nodebatch_shape
flat_shapeA_flatL_initr1   A_paramL_paramk_paramB_paramN_paramA_bodyL_bodyr   N_bodyk_p1preva_col
row_k_prevaccraw_coldiag_valL_kknew_col	row_rangerow_mask_1drow_mask_3dzero_colnew_col_masked
pads_beginpads_end
col_padded	col_rangecol_mask_1dL_shapecol_mask_3drow_mask_fullupdate_maskL_nextk_nextcondbodyL_outL_final	out_shapeorderperms9                                                            v/var/www/html/emotional.easysim.app/public_html/venv/lib/python3.12/site-packages/keras/src/backend/openvino/linalg.pycholeskyr}      sk   MM	J 	!AD))+M  dhh/66q9%%'I!!#((335D%8??BGq$((+2215Fa*11!4ErdDHH-44Q7	
 &)1#txx(//2 fQi  qy""1dhh/66q9''DHH5<<Q?nnqc488,33A6rdDHH-44Q7qc488,33A6qc488,33A6
 &) 	 %%k65AHHKvv.55a8vv.55a8vv.55a8	

 	
 fQi  dJ6==a@F#y)003ZfQi  ==!!$5<<Q?D     "ICG     "ICG   TXXC8G  TXXC8G  TXXC8G^^AF^^AFqA^^AF<<5!((+D >>1#txx(//21f%,,Q/1#txx(//21#txx(//2 fQi 	 NN1f%,,Q/4(//21#txx(//21#txx(//2 fQi 
 1f%,,Q/4(//21#txx(//21#txx(//2 fQi  //$
E4
8
?
?
BCs+2215G~~1f%,,Q/4(//21#txx(//21#txx(//2 fQi  =="))!,Doogt,33A6G 488fQi  ((A6==a@K$$;/66q9!TXX&--a0 fQi  !!#y)003'u5<<Q? fQi  __['8DKKANN qc488,33A6qc488,33A6q&)003	

 	
 fQi  qc488,33A6qc488,33A6!!%%fa077:E&)	
 fQi		
 	
 fQi  
HjfQi  488fQi  ..A.55a8KE:AA!DG$${F3::1=a*11!4	
 &) fQi  &&{F3::1=a*11!4	
 &) fQi  &&{MBII!LK__[*f=DDQGF\\!U#**1-FT4<<077:D		'7GW5D 	dQ(Wf-'662'662Wf-Wf-+Eqy""5&188;OO""66299!<""66299!<
 
 &) 	 ""5)U;BB1EU4[!$Ry%)b	59  188;$$Wd3::1= ""7DHH5<<Q?w''    c                 2   t        |       } t        |       }|r(t        j                  ||dd      j	                  d      }n't        j                  ||dd      j	                  d      }t        j
                  |d      j	                  d      }t        |      S )NTFr   adjoint)r
   r   r!   r5   r$   inverser   )rF   rG   rH   reconstructed_matrixresults        r|   cholesky_inverser      s    !AD'tT4GNN 

  (tT5$GNN 
 2EBII!LFv&&r~   c                    t        |       } t        |       }|j                         }|t        j                  k(  r3t        j                  |t        j                        j                  d      }t        j                  |d      j                  d      }|j                         j                  j                         }t        j                  dgt        j                        j                  d      }t        j                  dgt        j                        j                  d      }t        j                  ||t        j                  dt        j                        j                  d            j                  d      }t        j                   |t        j                  dgt        j                        j                  d            j                  d      }|dz
  }	|	dkD  rt        j"                  t        j                  dgt        j                        j                  d      t        j                  |	gt        j                        j                  d            j                  d      }
t        j$                  |
||gd      j                  d      }n't        j$                  ||gd      j                  d      }t        j&                  ||t        j                  dt        j                        j                  d      |j                               j                  d      }t        j(                  ||d      j                  d      }|}t        j*                  |t        j                  d	t        j,                        j                  d            }t        j.                  dg|z  |j                         d
      }t        j.                  g t        j                  d      }t        j.                  dg|z  |j                         d      }t        j.                  dg|z  |j                         d      }t        j0                  |j                  d      t        j                  dt        j                        j                  d            j                  d      }t        j                  ||j                               j                  d      }t        j2                  |j                  d      |j                  d            j                  d      }t        j$                  ||gd      j                  d      }t        j4                  ||d	      j                  d      }t        j                  d|j                               j                  d      }t        j6                  ||      j                  d      }t        j2                  ||      j                  d      }t        j2                  ||j                  d            j                  d      }t        j0                  |j                  d      |      j                  d      }t        j8                  |j                  d      |dd      j                  d      }t        j                  d	t        j,                        j                  d      }t;        j<                  ||||g||||g      } |j?                  |        |jA                  ddg       |jC                  |||       |jC                  |t        j                  dt        j                        j                  d      |       |jE                  ||       |jE                  ||       |jG                  |d      }!t        j                   |!|      j                  d      }"t        jH                  |t        j                  dt        j                        j                  d            j                  d      }#t        j                  |#|j                               j                  d      }$t        j                  d|j                               j                  d      }%t        j                  d|j                               j                  d      }&t        jJ                  |%t        j2                  |&|$      j                  d            j                  d      }'t        j2                  |"|'      j                  d      }(|t        j                  k(  r3t        j                  |(t        j                        j                  d      }(tM        |(      S )Nr   r   r   r   r   r   r   FTMr   rY   eye_body	keep_dimsg               ?       @)'r
   r   r   r   r    r!   r"   r#   r$   r(   r%   r&   r'   r   r   r*   r)   r0   r-   eyer/   r1   r2   r3   r4   multiply
reduce_sumr8   r5   ovr   r?   r@   rB   rA   rC   modr6   r   ))rF   rH   rI   rK   r&   minus_1minus_2	N_node_1dN_node_scalarnum_batch_dimsbatch_dims_shape	eye_shaper   eye_reshaped
trip_countr1   M_paramrV   A_body_parameye_body_paramrt   k_f32M_diag
trace_axestrace	minus_one
c_k_factorc_kc_k_IM_plus_c_k_IM_next	cond_nextrv   out_c_kdet_c_kN_mod_2N_mod_2_f32onetwosigndets)                                            r|   r   r     s6   !AD))+M  dhh/66q9%8??BG!!#((335Ddhh/66q9Gdhh/66q9G(++Atxx8??BfQi  $$8$$aS$((3::1=fQi  AXN#--qc488,33A6~.9@@C
 &) 	 OOy)4a

&) 	 OOY	$:A>EEaH	
,,!TXX&--a0	
 fQi  ##CE:AA!DLJ==H%%dDLL9@@CD   "d.C.C.EsKG  TXXs3G%%	tT**,hL ''	tT**,jN \\q8,,Q9@@CfQi  VT%:%:%<=DDQGEq>003fQi  '7!3Q7>>qAJ
dCJJ1ME!!$(=(=(?@GGJIE299!<J


J
.
5
5a
8Cc>#8#8#;<CCAFE<<q 159@@CL__AeUfQi  !!$5<<Q?I88	i(	'<8D 	dQ('40""1dhh/66q96 	\40^\:!!#r*Gw
3::1=Gllx((DHH5<<Q?fQi  ""7D,A,A,CDKKANK


C!6!6!8
9
@
@
CC


C!6!6!8
9
@
@
CCXsK077:fQi 	 

GT
*
1
1!
4C sDHH-44Q7s##r~   c                     t        d      )Nz,`eig` is not supported with openvino backendNotImplementedError)rF   s    r|   eigr   w      
L
MMr~   c                 @+   t        |       } t        |       }|j                         }|j                         sDt	        j
                  |t        j                        j                  d      }t        j                  }n|}t	        j                  dt        j                        j                  d      }t	        j                  dt        j                        j                  d      }t	        j                  dt        j                        j                  d      }t	        j                  |t        j                        j                  d      }|j                         j                  j                         }|dk(  rt	        j                  |t	        j                  dt        j                        |      j                  d      }	|	}
t	        j                  dt        j                        j                  d      }nt	        j                  |||      j                  d      }	|	}
t	        j                   |t	        j                  dgt        j                        t	        j                  dgt        j                        t	        j                  dgt        j                        t	        j                  dgt        j                              j                  d      }t	        j"                  ||d      j                  d      }t	        j$                  t	        j&                  ||      j                  d      t	        j&                  |	|      j                  d      t	        j&                  |	|      j                  d      gd      j                  d      }t	        j(                  ||d      j                  d      }t	        j*                  ||	|t        j                        j                  d      }t	        j,                  ||	t	        j                  d	|      t	        j                  d
|      d      j                  d      }t	        j.                  ||      j                  d      }t	        j0                  |
|      j                  d      }t	        j2                  |
|      j                  d      }t	        j4                  |t	        j                  dt        j                              j                  d      }t	        j2                  t	        j                  dt        j                        |      j                  d      }|}t	        j                  dt        j6                        j                  d      }t	        j8                  ||      }t	        j:                  |j                         |j                               }t	        j:                  |j                         |j                               }|j                  d      }|j                  d      }t	        j                  |t        j                        j                  d      }t	        j                  |||      j                  d      }t	        j                  |||      j                  d      }|} t	        j*                  |||t        j                        j                  d      }!t	        j,                  |!|t	        j                  d	|      t	        j                  d
|      d      j                  d      }"t	        j0                  t	        j                  d	|      |"      j                  d      }#t	        j.                  |#|       j                  d      }$t	        j2                  ||$      j                  d      }%t	        j<                  |%      j                  d      }&t	        j$                  t	        j&                  ||      j                  d      t	        j&                  t	        j2                  ||      |      j                  d      gd      j                  d      }'t	        j(                  |&|'d      j                  d      }(t	        j>                  |(|d      j                  d      })t	        j                  d|      j                  d      }*t	        j@                  t	        jB                  |)|*      |d      j                  d      }+t	        jD                  |(t	        j                  dt        j                        ddd      },|,j                  d      }-t	        jF                  |-|      j                  d      }.t	        j4                  |.|      j                  d      }/t	        jH                  |.|      j                  d      }0t	        j&                  |/|      j                  d      }1t	        j&                  |0|      j                  d      }2t	        j*                  |||t        j                        j                  d      }3t	        j&                  |3|      j                  d      }4t	        j$                  |4|1|1gd      j                  d      }5t	        j$                  |4|2|2gd      j                  d      }6t	        j$                  |4|1|2gd      j                  d      }7t	        jJ                  ||5      j                  d      }8t	        jJ                  ||6      j                  d      }9t	        jJ                  ||7      j                  d      }:t	        j                  d
|      j                  d      };t	        jL                  |/|0      j                  d      }<t	        jN                  t	        jL                  |:|;      j                  d      |<      j                  d      }=t	        jP                  |=t	        j                  d	|      |:      j                  d      }>t	        j4                  t	        j0                  |9|8      t	        j2                  t	        j                  d|      |>            j                  d      }?t	        j<                  |?      j                  d      }@t	        jR                  |?      j                  d      }At	        jP                  t	        jL                  |?|;      t	        j                  d	|      |A      j                  d      }At	        jT                  t	        jV                  t	        j2                  |?|?      t	        j                  d	|                  j                  d      }Bt	        j4                  |At	        jV                  |@|B            j                  d      }Ct	        jP                  |=|;|C      j                  d      }Ct	        j4                  t	        j                  d	|      t	        jT                  t	        jV                  t	        j2                  |C|C      t	        j                  d	|                        j                  d      }Dt	        j2                  |D|C      j                  d      }Et	        j.                  |"|       j                  d      }Ft	        jP                  |<t	        j                  d	|      |D      j                  d      }Gt	        jP                  |<|;|E      j                  d      }H|G}I|H}Jt	        jX                  |H      j                  d      }Kt	        jP                  |<t	        j                  dt        j                        |/      j                  d      }Lt	        jP                  |<t	        j                  dt        j                        |0      j                  d      }Mt	        j&                  |L|      j                  d      }Nt	        j&                  |M|      j                  d      }Ot	        j$                  |4|N|Ngd      j                  d      }Pt	        j$                  |4|O|Ogd      j                  d      }Qt	        j$                  |4|N|Ogd      j                  d      }Rt	        j$                  |4|O|Ngd      j                  d      }St	        jZ                  |F|P|I      j                  d      }Ft	        jZ                  |F|Q|I      j                  d      }Ft	        jZ                  |F|R|J      j                  d      }Ft	        jZ                  |F|S|K      j                  d      }Ft	        j\                  |Ft	        j                  g dt        j                              j                  d      }Tt	        j^                  |Tt	        j^                  ||Fdd      dd      j                  d      }Ut	        j^                  ||Fdd      j                  d      }Vt	        jP                  t	        j&                  t	        j&                  |+|      |      j                  d      |U|      j                  d      }Ut	        jP                  t	        j&                  t	        j&                  |+|      |      j                  d      |V|      j                  d      }Vta        |+|U|Vg||gd      }W|jc                  |W       |je                  ddg       |jg                  |||U       |jg                  |||V       |ji                  |U      }X|ji                  |V      }Yt	        jj                  t	        j2                  |X|      |d      j                  d      }Zt	        jX                  |Z      j                  d      }[t	        jD                  |[|	ddd      }\t	        jX                  |\j                  d            j                  d      }]|\j                  d      }^t	        j.                  t	        j&                  |^|      j                  d      |      j                  d      }_t	        jl                  |Y|_d      j                  d      }`|dk(  rKt	        jF                  ]|      j                  d      }at	        jF                  `|      j                  d      }bnt	        j$                  t	        j&                  |	|      j                  d      gd      j                  d      }ct	        j(                  ]|cd      j                  d      }at	        j(                  `|d      j                  d      }b|t        jn                  k(  rft	        j
                  at        jn                        j                  d      }at	        j
                  bt        jn                        j                  d      }btq        a      tq        b      fS )Nr   r   r   r   r   Faxisr   r   r      Tgư>maxvaluer   )r   r   r   jacobi_loop)9r
   r   r   is_realr!   r"   r   r#   r$   r   r   r(   r%   r&   r'   r*   r+   r,   r-   r.   r/   r9   one_hotr0   r6   r   r8   r2   r1   r3   abs
reduce_maxreduce_logical_orgreatertopkr)   r   	gather_ndr=   
logical_orr;   r   r7   r4   negativescatter_nd_updaterE   r5   r   r?   r@   rB   rC   r   gather_elementsr    r   )drF   rH   	a_ov_typeout_ov_type
zero_const	one_constminus_one_constrK   r&   nn_intbatch_size_prodrP   a_flat_shaperR   range_neye_nV_flatn_minus_onen_squared_minus_nsweep_itersmax_iterr   execution_condr1   rT   V_paramA_currV_currA_curr_shapel_batch_size_prodl_nl_flat_shape	l_range_nl_eye_nmaskmask_bA_off	A_off_absflat_n2A_off_abs_flatmax_valepsiloncontinue_condr   argmax_flatargmax_flat_sqpqp_unsqueezedq_unsqueezed	b_indicesb_unsqueezed
pp_indices
qq_indices
pq_indicesAppAqqApqzero_out	is_p_eq_qis_apq_zerosafe_Apqtheta	theta_abs
theta_sign	sqrt_termtcsRc_safes_safe	c_updates	s_updatesneg_s_updatesp_safeq_safep_safe_unsqueezedq_safe_unsqueezedpp_safe_indicesqq_safe_indicespq_safe_indicesqp_safe_indicesRTA_nextV_nextrv   A_outV_outeigenvalues_flatneg_eigenvalues	topk_sortw_flatsort_indices	v_indicesv_flatw_finalv_finalw_shape_finalsd                                                                                                       r|   eighr#  {  sI   !AD%%'Idhh/66q9hh""1dhh/66q9J!!!TXX.55a8I''DHH5<<Q?Odhh/66q9G!!#((335DqyOOX&&q$((3Z

&) 	
 "++Atxx8??BOOG_jAHHKnnqc488,rdDHH-qc488,qc488,
 &) 	 #..U

&) 	 ??
;BB1Eq*-44Q7q*-44Q7	

  fQi  dL%8??BFnnAydhhfQi  	#{+#{+ fQi 
 |4;;A>F##E95<<Q?K ))%=DDQG//8,,Q9fQi    "dhh'fQi  J&&tT\\:AA!DN==^4D    "F$;$;$=G     "F$;$;$=G ^^AF^^AF$$VTXX6==a@L j*fQi  //,
D
K
KA
NCLCfQi  #{+#{+ fQi  #{+WfQi 	 l3::1=Fff-44Q7EU#**1-Ioo0*=DDQGx00c:JGNN	
  fQi  %%i%@GGJN!!.)UCJJ1MGk299!<G..'*JfQi  ==))!TXX65'D ++a.K%%k9=DD	N 	,33A6A^S)003A%%a3::1=L%%a3::1=L%ydhhfQi  %%i;BB1EL	|\2fQi  	|\2fQi  	|\2fQi  

VZ
0
7
7
:C


VZ
0
7
7
:C


VZ
0
7
7
:C  k299!<Hq!$++A.I%%sH%,,Q/fQi  X&&sK8#fQi  OO#s#(++C=xH fQi 
 U#**1-Iu%,,Q/Juh'#{+ fQi	 
 eU+X->->sK-P	
 fQi	 
 	
HLLI$FGNN		A 	Xq188;A#{+LL!!!Q'):):3)L	
	 fQi  	!Q&&q)A7L188;A__8$$S+6fQi  __Y!4;;A>FII%%f-44Q7M__8$$Q11fQi  __8$$Q11fQi  !**69=DDQG **69=DDQGoo	(*;<1fQi  oo	(*;<1fQi  oo	(*;<1fQi  oo	(*;<1fQi  	""1oyAHHKA""1oyAHHKA""1oyAHHKA""1o}ELLQOA 
		Ax00DHHE	F	M	Ma	PB__
HOOFAue4eUfQi  __VQu5<<Q?F __}j9:	

&) fQi  __}j9:	

&) fQi  	''7);]D 	dQ('662'662'E'E**%'%fQi  ''(89@@COoq"eWEIy//23::1=F##A&L""<3::1=|fQi  %%eY;BB1EFqy""6:6==a@""6:6==a@ (,,Q
;BB1EFQ

&) 	 ""6=%@GGJ""67E:AA!Ddhh""7DHH5<<Q?""7DHH5<<Q? 	G$G$ r~   c                     t        |       } t        |       }t        j                  |d      j	                  d      }t        |      S )NFr   r   )r
   r   r!   r   r$   r   )rF   rH   r   s      r|   invr%    s>    !ADdE299!<Fv&&r~   c                  B   t        |       } t        |       }|j                         }|j                         sDt	        j
                  |t        j                        j                  d      }t        j                  }n|}|}|t        j                  k(  rCt	        j
                  |t        j                        j                  d      }t        j                  }t	        j                  dt        j                        j                  d      }t	        j                  dt        j                        j                  d      }t	        j                  dt        j                        j                  d      }t	        j                  dt        j                        j                  d      }t	        j                  |t        j                        j                  d      }	|j                         j                  j                         }
t	        j                   |	||      j                  d      }t	        j                   |	||      j                  d      }t	        j"                  ||      j                  d      }|
dk(  rht	        j                  dt        j                        j                  d      }t	        j                  g t        j                        j                  d      }nt	        j$                  |	t	        j                  dgt        j                        j                  d      t	        j                  dgt        j                        j                  d      t	        j                  dgt        j                        j                  d      t	        j                  dgt        j                        j                  d            j                  d      }t	        j&                  ||d      j                  d      }t	        j(                  t	        j*                  ||      j                  d      t	        j*                  ||      j                  d      t	        j*                  ||      j                  d      gd      j                  d      }t	        j,                  ||d      j                  d      }t	        j.                  |||t        j                        j                  d      }t	        j0                  t	        j*                  ||      j                  d      t	        j(                  t	        j*                  ||      j                  d      t	        j*                  ||      j                  d      gd      j                  d            j                  d      }t	        j2                  |t	        j                  d	t        j4                        j                  d            }t	        j6                  |j                         |d
      }t	        j6                  |j                         t        j                  d      }t	        j6                  g t        j                  d      }t	        j6                  g t        j                  d      }t	        j6                  g t        j                  d      }t	        j6                  g t        j                  d      }|j                  d      }|j                  d      }|j                  d      }t	        j8                  ||      j                  d      }|j                  d      }|j                  d      } |j                  d      }!t	        j$                  |t	        j*                  ||      j                  d      t	        j*                  | |      j                  d      t	        j                  dgt        j                        j                  d      t	        j                  dgt        j                        j                  d            j                  d      }"t	        j$                  |"t	        j*                  ||      j                  d      t	        j*                  ||      j                  d      t	        j                  dgt        j                        j                  d      t	        j                  dgt        j                        j                  d            j                  d      }#t	        j:                  |#      j                  d      }$t	        j<                  |$t	        j                  dt        j                        ddd      }%|%j                  d      }&t	        j>                  |&t	        j                  ddgt        j                        j                  d            j                  d      }'t	        j8                  |'|      j                  d      }(t	        j0                  t	        j*                  t	        j.                  || |t        j                        j                  d      |      j                  d      t	        j(                  t	        j*                  ||      j                  d      t	        j*                  | |      j                  d      gd      j                  d            j                  d      })t	        j.                  |||t        j                        j                  d      }*t	        j*                  |*|      j                  d      }+t	        j0                  t	        j*                  ||      j                  d      t	        j*                  ||      j                  d            j                  d      },t	        j*                  |,|      j                  d      }-t	        j*                  |(|      j                  d      }.t	        j(                  |+|-gd      j                  d      }/t	        j(                  |+|.gd      j                  d      }0t	        j@                  |)|/|(      j                  d      })t	        j@                  |)|0|,      j                  d      })t	        j,                  |t	        j                  dgt        j                        j                  d      d      j                  d      }1t	        j0                  t	        j*                  t	        j*                  |*|      j                  d      t	        j                  dt        j                        j                  d            j                  d      t	        j(                  t	        j*                  ||      j                  d      t	        j*                  | |      j                  d      t	        j*                  |!|      j                  d      gd      j                  d            j                  d      }2t	        j0                  t	        j*                  |)t	        j                  dt        j                        j                  d            j                  d      t	        j(                  t	        j*                  ||      j                  d      t	        j*                  | |      j                  d      t	        j*                  |!|      j                  d      gd      j                  d            j                  d      }3t	        j0                  t	        j*                  t	        j*                  t	        j.                  ||!|t        j                        j                  d      |      j                  d      |      j                  d      t	        j(                  t	        j*                  ||      j                  d      t	        j*                  | |      j                  d      t	        j*                  |!|      j                  d      gd      j                  d            j                  d      }4t	        jB                  | |!      j                  d      }5t	        j8                  t	        j8                  t	        jB                  |2|5      j                  d      t	        jB                  |3|!      j                  d            j                  d      |4      j                  d      }6t	        j,                  |6t	        j                  dgt        j                        j                  d      d      j                  d      }7t	        j                   |1|7|      j                  d      }8t	        j,                  |8t	        j(                  t	        j*                  ||      j                  d      t	        j*                  | |      j                  d      t	        j*                  |!|      j                  d      gd      j                  d      d      j                  d      }9t	        j$                  |9t	        j*                  ||      j                  d      t	        j*                  ||      j                  d      t	        j                  dgt        j                        j                  d      t	        j                  dgt        j                        j                  d            j                  d      }:t	        j$                  |:t	        j*                  ||      j                  d      t	        j*                  ||      j                  d      t	        j                  dgt        j                        j                  d      t	        j                  dgt        j                        j                  d            j                  d      }:t	        j$                  |9t	        j*                  ||      j                  d      t	        j*                  | |      j                  d      t	        j                  dgt        j                        j                  d      t	        j                  dgt        j                        j                  d            j                  d      };t	        j$                  |;t	        j*                  ||      j                  d      t	        j*                  ||      j                  d      t	        j                  dgt        j                        j                  d      t	        j                  dgt        j                        j                  d            j                  d      };t	        j                  d|      j                  d      }<t	        jD                  |:|<      j                  d      }=t	        jF                  |=t	        j                  d|      j                  d      |:      j                  d      }>t	        jH                  |;|>      j                  d      }?t	        j(                  t	        j                  dgt        j                        j                  d      t	        j*                  ||      j                  d      t	        j*                  ||      j                  d      gd      j                  d      }@t	        j(                  t	        j                  dgt        j                        j                  d      t	        j                  dgt        j                        j                  d      t	        j*                  t	        jJ                  |!|      j                  d      |      j                  d      gd      j                  d      }At	        jL                  |?|@|Ad      j                  d      }Bt	        j.                  || |t        j                        j                  d      }Ct	        j.                  ||!|t        j                        j                  d      }Dt	        jN                  |C|      j                  d      }Et	        jD                  |D|      j                  d      }Ft	        j0                  t	        j*                  t	        j*                  |E|      j                  d      t	        j                  dt        j                        j                  d            j                  d      t	        j                  |t        j                        j                  d            j                  d      }Gt	        j0                  t	        j*                  t	        j*                  |F|      j                  d      t	        j                  dt        j                        j                  d            j                  d      t	        j                  |t        j                        j                  d            j                  d      }Ht	        jP                  |G|H      j                  d      }It	        jF                  |I|B|9      j                  d      }Jt	        j$                  |9t	        j*                  ||      j                  d      t	        j*                  ||      j                  d      t	        j                  dgt        j                        j                  d      t	        j                  dgt        j                        j                  d            j                  d      }Kt	        j$                  |Kt	        j*                  ||      j                  d      t	        j*                  |!|      j                  d      t	        j                  dgt        j                        j                  d      t	        j                  dgt        j                        j                  d            j                  d      }Kt	        jR                  |?|Kdd      j                  d      }Lt	        jL                  |Lt	        j(                  t	        j                  dgt        j                        j                  d      t	        j*                  ||      j                  d      t	        j*                  ||      j                  d      gd      j                  d      t	        j                  g dt        j                        j                  d      d      j                  d      }Mt	        jJ                  |J|M      j                  d      }Nt	        j@                  ||/|(      j                  d      }Ot	        j8                  ||      j                  d      }Pt	        j                  d	t        j4                        j                  d      }QtU        |N|O|P|Qg||||||g      }R|jW                  |R       |jY                  ddg       |j[                  |||N       |j[                  |||O       |j[                  |||P       |j]                  ||       |j]                  ||       |j]                  ||       |j_                  |Nd      }S|j_                  |Od      }Tt	        j$                  |Tt	        j                  dgt        j                        j                  d      t	        j*                  ||      j                  d      t	        j                  dgt        j                        j                  d      t	        j                  dgt        j                        j                  d            j                  d      }T|
dk(  rLt	        j>                  S|      j                  d      }Ut	        j>                  T|      j                  d      }Vnt	        j(                  |t	        j*                  ||      j                  d      t	        j*                  ||      j                  d      gd      j                  d      }Wt	        j(                  |t	        j*                  ||      j                  d      gd      j                  d      }Xt	        j,                  S|Wd      j                  d      }Ut	        j,                  T|Xd      j                  d      }V|t        j                  k(  r3t	        j
                  Ut        j                        j                  d      }Uta        U      ta        V      fS )Nr   r   r   r   r   Fr   r   Tr   r   P_currr   B_node_bodyM_node_bodyN_node_bodyr   r   r   g|=r   r   r   r   r   )1r
   r   r   r   r!   r"   r   r#   r$   r    r   r   r(   r%   r&   r'   r*   minimumr+   r,   r-   r.   r/   r9   r0   r1   r2   r3   r4   r   r   r)   r   r   r=   r;   r8   r6   r<   r   r>   r5   r   r?   r@   rB   rA   rC   r   )YrF   rH   r   r   rI   r   r   r   r   rK   r&   M_noderN   K_noderO   rP   rQ   rR   range_MP_initr1   r   P_body_paramrV   B_body_paramM_body_paramN_body_paramr   r'  r   k_plus_1B_bodyM_bodyr[   A_k_col_slice1A_k_col_elemA_k_col_absr   p_relp_rel_sqr   indicesB_ranger   k_bk_b_unsqueezedr   upd_k_indicesupd_p_indicesA_curr_flatb_coordsr_coordsc_coordsslice_strideflat_indicesflat_indices_1dA_swapped_flat	A_swappedA_k_k
A_k1_end_kzero_f32is_zero
A_k_k_safeL_colrj   rk   L_col_paddedrow_range_bodycol_range_bodyrow_maskcol_maskrg   rp   rr   A_masked
A_k_k1_end
outer_prodouter_prod_paddedr  P_nextrt   ru   rv   r  P_outA_out_finalP_out_finalA_out_shapeP_out_shapesY                                                                                            r|   	lu_factorra    s6   !AD%%'Idhh/66q9hhM dhh/66q9hh""1dhh/66q9J!!!TXX.55a8I''DHH5<<Q?ODHH-44Q7Gdhh/66q9G!!#((335D__Wgz:AA!DF__WozBII!LFff-44Q7Fqy""1dhh/66q9''DHH5<<Q?nnqc488,33A6rdDHH-44Q7qc488,33A6qc488,33A6
 &) 	 %%k:uELLQOvz299!<vz299!<vz299!<	

 	
 fQi  dJ6==a@FnnFI488fQi  7J/66q9""6:6==a@""6:6==a@ 	
 &)	 fQi  ==!!$5<<Q?D %%  "KhL %%  "DHH8L   TXXC8G%%b$((GL%%b$((GL%%b$((GL  #F  #FqA||Ay)003H  #F  #F  #F^^1j)0036:.55a81#txx(//21#txx(//2 fQi  >>1j)0038Z077:1#txx(//21#txx(//2 fQi  ,,|,33A6K==X&&q$((3QwD KKNEx  !Q299!<fQi  	Xq!((+A  NNFI488fQi		

 &)""6:6==a@""6:6==a@ 	
 &) fQi   nnFI488fQi  %%gy9@@CL


1j)0036:.55a8 fQi  ''Y7>>qAN%%a3::1=LOO\>$BAFMMaPMOO\<$@!DKKANM((-CJJ1MG((-ELLQOG""!!2$188;UfQi  !!w	299!<a*11!4	
 &)""6:6==a@""6:6==a@""6:6==a@
 	
 &) fQi  !!X&&q$((3::1=	

&)""6:6==a@""6:6==a@""6:6==a@
 	
 &) fQi  !!	txx&)	
 fQi	
 &)""6:6==a@""6:6==a@""6:6==a@
 	
 &)#$ fQi% ( $$VV4;;A>L<<h5<<Q?h/66q9	
 &) fQi  &&h''dhh7>>qA5fQi  ___jfQi    ""6:6==a@""6:6==a@""6:6==a@
 	
 &) fQi  NN1j)0038Z077:1#txx(//21#txx(//2 fQi 
 NN1j)0038Z077:1#txx(//21#txx(//2 fQi 
 8Z077:6:.55a81#txx(//21#txx(//2 fQi  1j)0038Z077:1#txx(//21#txx(//2 fQi    k299!<HnnUH-44Q7G""5+6==a@%fQi  OOJ
3::1=Eqc488,33A6x4;;A>q*-44Q7	

 	
 fQi  qc488,33A6qc488,33A6!!&(3::1=zfQi	
 	
	 fQi  <<z8ZHOO	L ^^FI488fQi  ^^FI488fQi  299!<H~~na077:H$$x4;;A>a*11!4	
 &)&$((+2215 fQi  $$x4;;A>a*11!4	
 &)&$((+2215 fQi  &&{K@GGJK{L)DKKANH1j)0038Z077:1#txx(//21#txx(//2 fQi  8Z077:6:.55a81#txx(//21#txx(//2 fQi  
E5AHHKJ !!1#txx077:""8Z8??B""8Z8??B
 	
 &))TXX.55a8 fQi  x):;BB1EF''qAHHKF\\!Y'..q1FT4<<077:D	&	

D 	dQ(,7,7':v6\62\62\62+E+ENN1#txx(//26:.55a81#txx(//21#txx(//2 fQi 
 qy&&uj9@@C&&uj9@@Coo""6:6==a@""6:6==a@
 
 &) 	 oo(,,VZ@GGJKQ

&) 	 &&uk5AHHK&&uk5AHHK &&{DHH=DDQG 	K(K( r~   c                    t        |       } t        | j                        }t        |      |t        t	                    }nt        |t              r|f}t        fd|D              rt        d d|       t        |      dk(  r|d   n|}t        |t              rdn
t        |      }t        | j                        dk(  rt        j                         }n$t        j                  | j                  t              }t!        | |      } t#        |       }|dk(  r||dk(  rt        |t              rt%        |      n|}t'        j(                  |t*        j,                        j/                  d      }	t'        j0                  ||	|      j/                  d      }
tO        |
      S |t        d      k(  rt        |t              rt%        |      n|}t'        j(                  |t*        j,                        j/                  d      }	t'        j2                  |      j/                  d      }t'        j4                  ||	|      j/                  d      }
tO        |
      S |t        d	      k(  rt        |t              rt%        |      n|}t'        j(                  |t*        j,                        j/                  d      }	t'        j2                  |      j/                  d      }t'        j6                  ||	|      j/                  d      }
tO        |
      S |dk(  rt        |t              rt%        |      n|}t'        j(                  |t*        j,                        j/                  d      }	t'        j(                  d
t*        j8                        j/                  d      }t'        j:                  ||      j/                  d      }t'        j<                  |t*        j8                        j/                  d      }t'        j>                  ||	|      j/                  d      }
tO        |
      S |dk(  rt        |t              rt%        |      n|}t'        j(                  |t*        j,                        j/                  d      }	t'        j@                  ||	|      j/                  d      }
tO        |
      S t        |tB              rt        d|       t        ||      }t#        |      }t        |t              rt%        |      n|}t'        j(                  |t*        j,                        j/                  d      }	t'        j2                  |      j/                  d      }t'        jD                  ||      j/                  d      }t'        j>                  ||	|      j/                  d      }t        d|      }t#        |      }t'        jF                  ||      j/                  d      }t'        jD                  ||      j/                  d      }
tO        |
      S |dk(  r|d   |d   }}|dk  r|z   n|}|dk  r|z   n|}||dk(  rt'        jH                  ||      j/                  d      }t        |t              rt%        |      n|}t'        j(                  |t*        j,                        j/                  d      }	t'        j>                  ||	|      j/                  d      }t'        jJ                  |      j/                  d      }
tO        |
      S |dk(  r|s
||kD  r|dz  }t'        j(                  |t*        j,                        j/                  d      }t'        j(                  |t*        j,                        j/                  d      }t'        j2                  |      j/                  d      }t'        j>                  |||      j/                  d      }t'        j4                  |||      j/                  d      }
tO        |
      S |dk(  r|s
||kD  r|dz  }t'        j(                  |t*        j,                        j/                  d      }t'        j(                  |t*        j,                        j/                  d      }t'        j2                  |      j/                  d      }t'        j>                  |||      j/                  d      }t'        j6                  |||      j/                  d      }
tO        |
      S |t        d      k(  r|s
||kD  r|dz  }t'        j(                  |t*        j,                        j/                  d      }t'        j(                  |t*        j,                        j/                  d      }t'        j2                  |      j/                  d      }t'        j>                  |||      j/                  d      }t'        j4                  |||      j/                  d      }
tO        |
      S |t        d	      k(  r|s
||kD  r|dz  }t'        j(                  |t*        j,                        j/                  d      }t'        j(                  |t*        j,                        j/                  d      }t'        j2                  |      j/                  d      }t'        j>                  |||      j/                  d      }t'        j6                  |||      j/                  d      }
tO        |
      S |dv rtM        d| d      t        d|       t        d|       )Nc              3   8   K   | ]  }| k  xs |k\    y wN ).0rF   ndims     r|   	<genexpr>znorm.<locals>.<genexpr>8  s#     
0a1u9!T	!
0s   zPAll `axis` values must be in the range [-ndim, ndim). Received inputs with ndim=z, while axis=r   r   int64r   infz-infr   z6Invalid `ord` argument for vector norm. Received: ord=)dtyper   fror   r   )nucr   r   z`norm` with ord=zK for matrix norms requires SVD which is not supported with openvino backendz6Invalid `ord` argument for matrix norm. Received: ord=z$Invalid axis values. Received: axis=)(r
   tupleshapelenr9   
isinstanceintany
ValueErrorr   rk  r   floatxr   result_typefloatr	   r   rD   r!   r   r   r   r$   	reduce_l2r   r   
reduce_minr#   	not_equalr"   r   	reduce_l1strpowerr8   r   r7   r   r   )xordr   keepdimsx_shapenum_axesrk  x_ovaxis_for_const
axis_constnorm_resultx_abszerorz  not_equal_float
ord_tensorord_ovx_powsum_powr   one_ovinv_ordrow_axiscol_axisx_sqsum_sqrow_axis_constcol_axis_constcol_sumrow_sumrg  s                                 @r|   normr  /  sR	   !AAGGnGw<D|U4[!	D#	w

04
00))-mD6C
 	
 $i1n47$DtS)qs4yH!W,""177E2QAD 1};#(+5dE+BT$ZN!**>488DKKANJ",,T:xHOOKJ {++E E%L +5dE+BT$ZN!**>488DKKANJLL&--a0E"--z8fQi | {++w E&M!+5dE+BT$ZN!**>488DKKANJLL&--a0E"--z8fQi n {++i AX+5dE+BT$ZN!**>488DKKANJ$$S$((3::1=D **46==a@I&..y$((CJJ1MO"--XfQi Z {++U AX+5dE+BT$ZN!**>488DKKANJ",,T:xHOOKN {++I S!HN 
 +3e<J":.F+5dE+BT$ZN!**>488DKKANJLL&--a0ENN5&188;E))%XFMMaPG#Cu5C"3'Fooff5<<Q?G"..':AA!DKh {++e 
Q!!Wd1g(&.l8d?&.l8d?;#,$$T4077:D+5dE+BT$ZN!**>488DKKANJ((z8DKKANF"--/66q9KN {++M AX8 3A%..xBII!LN%..xBII!LNLL&--a0E))~fQi  #--8fQi v {++q BY8 3A%..xBII!LN%..xBII!LNLL&--a0E))~fQi  #--8fQi Z {++U E%L 8 3A%..xBII!LN%..xBII!LNLL&--a0E))~fQi  #--8fQi > {++9 E&M!8 3A%..xBII!LN%..xBII!LNLL&--a0E))~fQi  #--8fQi " {++ N" &"3% (? ? 
 HN  ?vFGGr~   c                 J+   |dvrt        d|       t        |       } t        |       }|j                         }|t        j
                  k7  r3t        j                  |t        j
                        j                  d      }t        j
                  }|j                         j                  j                         }d}t        j                  dt        j                        j                  d      }t        j                  dt        j                        j                  d      }t        j                  dgt        j                        j                  d      }	t        j                  dgt        j                        j                  d      }
t        j                  |gt        j                        j                  d      }t        j                  g dt        j                        j                  d      }t        j                  g dt        j                        j                  d      }t        j                  |d	      j                  d      }t        j                  |t        j                  d
gt        j                        |      j                  d      }t        j                  |t        j                  dgt        j                        |      j                  d      }t        j                   ||      j                  d      }t        j                   ||      j                  d      }|dk(  r5t        j                  dgt        j                        j                  d      }nt        j"                  ||	t        j                  d
gt        j                        |
|	      j                  d      }t        j$                  ||d      j                  d      }t        j&                  ||      j                  d      }t        j(                  |||gd      j                  d      }t        j*                  ||d      j                  d      }t        j,                  ||      j                  d      }t        j.                  |||t        j                  	      j                  d      }t        j0                  ||t        j                  d|      t        j                  d|      d      j                  d      }t        j2                  |t        j(                  |||gd      j                  d            j                  d      }t        j4                  |t        j                  dt        j6                        j                  d            }t        j8                  |j                         |d      }t        j8                  |j                         |d      }t        j8                  g t        j                  d      }|j                  d      } |j                  d      }!|j                  d      }"t        j&                  |"|      j                  d      }#t        j"                  | t        j(                  |	|#|#gd      j                  d      t        j(                  |||gd      j                  d      ||      j                  d      }$t        j                  |$t        j                  dt        j                        t        j                  dt        j                              j                  d      }%t        j                  |%t        j                  dt        j                        |      j                  d      }&t        j:                  |&      j                  d      }'t        j                  d|      j                  d      }(t        j                  d|      j                  d      })t        j<                  t        j>                  |'|(      |)|'      j                  d      }'t        j@                  t        jB                  t        jD                  |%|%      j                  d      |d      j                  d            j                  d      }*t        jF                  t        jD                  |'|*      j                  d            j                  d      }+t        j                  |%d	      j                  d      },t        j                  |,||      j                  d      }-t        j0                  t        j                  dgt        j                        j                  d      |-|)|(d      j                  d      }.t        j&                  |+|      j                  d      }/t        jH                  |%t        jD                  |/|.      j                  d            j                  d      }0t        j@                  t        jB                  t        jD                  |0|0      j                  d      |d      j                  d            j                  d      }1t        j                  d|      j                  d      }2t        jJ                  |0t        jL                  |1|2      j                  d            j                  d      }3t        j>                  |-t        j                  dt        j                        j                  d            j                  d      }4t        jH                  |)t        j                  |4|      j                  d            j                  d      }5t        jD                  |3|5      j                  d      }3t        j&                  |3t        j                  dt        j                              j                  d      }6t        j&                  |3|      j                  d      }7t        j                  d|      j                  d      }8t        jN                  |7|$dd      j                  d      }9t        jH                  |$t        jD                  |8t        jN                  |6|9dd      j                  d            j                  d            j                  d      }:t        j"                  |!t        j(                  |	|	|#gd      j                  d      t        j(                  |||gd      j                  d      ||      j                  d      };t        jN                  |;|6dd      j                  d      }<t        jH                  |;t        jD                  |8t        jN                  |<|7dd      j                  d            j                  d            j                  d      }=t        j"                  | t        j(                  |	|	|	gd      j                  d      t        j(                  ||#|gd      j                  d      ||      j                  d      }>t        j"                  | t        j(                  |	|#|	gd      j                  d      t        j(                  |||#gd      j                  d      ||      j                  d      }?t        j(                  |>t        j(                  |?|:gd      j                  d      gd      j                  d      }@t        j"                  |!t        j(                  |	|	|	gd      j                  d      t        j(                  |||#gd      j                  d      ||      j                  d      }At        j(                  |A|=gd      j                  d      }Bt        j                  dt        j6                        j                  d      }Ct        jP                  |"|      j                  d      }DtS        jT                  |C|@|B|Dg|||gd      }E|jW                  |E       |jY                  ddg       |j[                  |||@       |j[                  |||B       |j[                  |t        j                  dt        j                        j                  d      |D       |j]                  |@d      }F|j]                  |Bd      }Gt        j*                  |Gt        j(                  |||gd      j                  d      d      j                  d      }Gt        j*                  |Ft        j(                  |||gd      j                  d      d      j                  d      }Ft        j&                  ||      j                  d      }H|dk(  rt        j"                  Gt        j                  g dt        j                        j                  d      t        j(                  ||Hgd      j                  d      ||      j                  d      }Gt        j"                  Ft        j                  g dt        j                        j                  d      t        j(                  ||H|gd      j                  d      ||      j                  d      }F|dk(  r|dk(  rOt        j(                  |Hgd      j                  d      }It        j(                  |H|gd      j                  d      }JnNt        j(                  ||gd      j                  d      }It        j(                  ||gd      j                  d      }Jt        j*                  GId      j                  d      }Gt        j*                  FJd      j                  d      }Fn|dkD  rt        j"                  t        j                  |d	      j                  d      |	t        j                  d
gt        j                        |
|	      j                  d      }Kt        j                  t        j                  Gd	      j                  d      t        j                  dgt        j                        |      j                  d      }Lt        j                  t        j                  Fd	      j                  d      t        j                  d
gt        j                        |      j                  d      }Mt        j*                  |Gt        j(                  |K||Lgd      j                  d      d      j                  d      }Gt        j*                  |Ft        j(                  |K|M|gd      j                  d      d      j                  d      }F||k7  rJt        j                  G|      j                  d      }Gt        j                  F|      j                  d      }Ft_        G      t_        F      fS )N>   reducedcompletez]`mode` argument value not supported. Expected one of {'reduced', 'complete'}. Received: mode=r   i   @r   )r   r   r   )r   r   r   r   r   r   r   r   Fr   r   r   Tr  Qr   r   g-q=r   householder_qrr  r+  )0rt  r
   r   r   r   r#   r!   r"   r$   r%   r&   r'   r   r   r(   r*   r)   r+   r,   r.   r-   r/   r,  r9   r   r0   r1   r2   r3   r   r;   r=   r7   r   r   r   r6   r8   maximumr5   r4   r   r   r?   r@   rB   rC   r   )Nr~  moder  	orig_typerJ   r&   	SLICE_ENDrL   rM   zero_1done_1dlarge_1daxes012step111r  m_1dn_1dm_sn_sbatch_1drP   batch_srQ   x_flatk_srange_meye_mQ_initr1   R_paramQ_paramrV   R_bodyQ_bodyk_bodyk_1dsub_Rx_colx0sign_x0zero_fone_fnorm_xalphax_col_shsub_m_from_cole0alpha_2dvnorm_vepsv_hat
is_trivialscalev_colv_rowtwo_fvTR	sub_R_newQ_subQv	Q_sub_newtop_R
left_bot_RR_nextleft_QQ_nextr   rt   
body_modelR_outQ_outk_1d_out
q_shape_2d
r_shape_2dbatch_shape_nodeq_lastr_second_lastsN                                                                                 r|   qrr    sm   **"V%
 	

 	!AD%%'I DHHdhh/66q9I!!#((335D Iq$((+2215Fa*11!4ETXX.55a8GsDHH-44Q7F  )dhh7>>qAH	4884;;A>G	4884;;A>G%8??BG??""B42FfQi 	 ??""B42FfQi 	 

4
(
/
/
2C


4
(
/
/
2C qy$$aS$((3::1=nnrdDHH-
 &) 	 &&{FEBII!L%%gv6==a@(D$!7;BB1EJdJ6==a@F 

3
$
+
+A
.C nnVS%TXXFMMaPG#y)#y) fQi 
 x$5q9@@CfQi 
 ==h//dllCJJ1MND  !9!9!;YLG  !9!9!;YLG  TXXs3G^^AF^^AF^^AFff-44Q7D NN$-q188;8X6:AA!D fQi 
 OOx  DHH-x/@/@DHH/MfQi 

 
 1 1!TXX >	F	M	Ma	PBmmB&&q)GsI.55a8Fc9-44Q7Eoow'fQi  ]]eU+2215u	

&) fQi	 
 '6*11!4fQi 
   E:AA!DH__Xuf=DDQGN			1#txx(//2
 fQi  !!%/66q9Hx  2.55a8	fQi 
 ]]a#**1-u	

&) fQi	 
 

E9
-
4
4Q
7COOAx//<CCAFGNN	E ))!TXX6==a@fQi  Y/66q9 fQi 
 eU+2215Euh&7&7488&DELL	E ue,33A6Ec9-44Q7E //%u
5
<
<Q
?C!!8??5#ue<CCAF	

&)	
 fQi  NN'40!4;;A>8X6:AA!D fQi 
 
ue	4	;	;A	>B!!8??2ueU;BB1E	

&)	
 fQi  NN'73Q7>>qA42A6==a@ fQi 
 $0!4;;A>8T2A6==a@ fQi  __	Y 7;BB1EF	 fQi  ^^'73Q7>>qA8T2A6==a@ fQi  __fi0!4;;A>F!!$5<<Q?I\\&%(//2F	FFF+	'7#J
 	j!Q('662'662""1dhh/66q96 +E+E x$5q9@@CUfQi 
 x$5q9@@CUfQi 
 !!#v.55a8H yi299!<OOXx:A>EEaH
 &) 	 i299!<OOXx:A>EEaH
 &) 	 qy9!$)91=DDQGJ!(D)91=DDQGJ!$q9@@CJ!$q9@@CJ  
E:AA!D  
E:AA!D	#>>d6==a@rdDHH-
 &) 	 e7>>qArdDHH-
 &)	 	
 !e7>>qArdDHH-
 &)	 	
   OO-tV<a@GGJ
 &)	 	
   OO-}dCQGNN 
 &) 	 I  	299!<  	299!<u%':5'AAAr~   c                    t        |       } t        |      }t        |       }t        |      }|j                  | j                  dz
  k(  }|rYt        j                  dgt
        j                        j                  d      }t        j                  ||      j                  d      }t        j                  |d      j                  d      }t        j                  ||dd      j                  d      }|rYt        j                  dgt
        j                        j                  d      }t        j                  ||      j                  d      }t        |      S )Nr   r   r   Fr   )r
   r   rg  r!   r   r   r   r$   r.   r   r5   r)   r   )rF   brH   b_ovr)   r   a_invr   s           r|   solver    s   !A!ADDff
"G%%rdDHH5<<Q?	!!$	299!<T5188;E__UD%7>>qAF%%rdDHH5<<Q?	!!&)4;;A>v&&r~   c           	      z	   t        |       } t        |      }t        |       }t        |      }|j                         }|t        j                  k(  rft        j                  |t        j                        j                  d      }t        j                  |t        j                        j                  d      }|j                         }|j                         j                  j                         |j                         j                  j                         dz
  k(  }|rWt        j                  |t        j                  dgt        j                        j                  d            j                  d      }t        j                  dt        j                        j                  d      }t        j                  dt        j                        j                  d      }	t        j                  |d      j                  d      }
t        j                   t        j"                  |
t        j                  dgt        j                        |      j                  d      |      j                  d      }t        j$                  |||	t        j                        j                  d      }t        j                  |t        j                  dt        j                              j                  d      }t        j                  |t        j                  dt        j                              j                  d      }|r&t        j&                  ||      j                  d      }n%t        j(                  ||      j                  d      }t        j                  ||      j                  d      }t        j*                  ||      j                  d      }t        j,                  |d      j                  d      }t        j.                  ||dd      j                  d      }|rWt        j                   |t        j                  dgt        j                        j                  d            j                  d      }|t        j                  k(  r3t        j                  |t        j                        j                  d      }t1        |      S )Nr   r   r   r   r   Fr   )r
   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r.   r   r   r(   r)   r*   r9   r:   
less_equalr   r   r5   r   )rF   r  lowerrH   r  r  rJ   r)   rL   rM   rK   r  r   row_idxcol_idxr   mask_fr  r   s                      r|   solve_triangularr  %  s   !A!ADD%%'IDHHdhh/66q9dhh/66q9%%'I 	 %%002!!#((3359	:  !!(##RD$((3::1=

&) 	 q$((+2215Fa*11!4E%8??BG


X&&tTXX6	

&)	
 fQi  nnVS%TXXFMMaPG  ""1dhh/fQi    ""1dhh/fQi  %%gw7>>qA""7G4;;A>dI.55a8FT6*11!4DT5188;E__UD%7>>qAF!!H%%rdDHH5<<Q?

&) 	 DHH!!&$((3::1=v&&r~   c                     t        d      )Nz,`svd` is not supported with openvino backendr   )r~  full_matrices
compute_uvs      r|   svdr  b  r   r~   c                     t        d      )Nz.`lstsq` is not supported with openvino backendr   )rF   r  rconds      r|   lstsqr  f  s    
N
OOr~   c                     t        d      )Nz4`matrix_rank` is not supported with openvino backendr   )r~  tols     r|   matrix_rankr  j  s    
> r~   c                     t        d      )Nz-`pinv` is not supported with openvino backendr   )r~  r  s     r|   pinvr  p  s    
M
NNr~   c                     t        d      )Nz,`jvp` is not supported with openvino backendr   )funprimalstangentshas_auxs       r|   jvpr  t  r   r~   )F)NNF)r  )TTrd  )"r   openvinor   openvino.opset16opset16r!   r   r   keras.src.backendr   r   keras.src.backend.commonr   keras.src.backend.openvino.corer   r	   r
   r   r}   r   r   r   r#  r%  ra  r  r  r  r  r  r  r  r  r  re  r~   r|   <module>r     s      #   $ / + ? 0 = 9](@'"r$jNK\'\~c,L|B~	'":'zNPONr~   