+
    /idD                     0   ^ RI t ^ RIt^ RIHt ^ RIHtHt ^ RIH	t
 ^ RIHtHt R t] P                  P!                  R4       ! R R	4      4       t ! R
 R]4      t ! R R]4      t] P                  P!                  R4       ! R R4      4       tR tRR ltR# )    N)default_rng)quadratic_assignmentOptimizeWarning)_calc_score)assert_equalassert_c                  l   . RO. RO. RO. RO. RO. RO. RO. RO. R	O. R
O. RO. RO.p . RO. RO. RO. RO. RO. RO. RO. RO. RO. RO. RO. RO.p\         P                  ! V 4      \         P                  ! V4      rV P                  ^ ,          p\         P                  ! . RO4      ^.V,          ,
          pWV3# )r   )r   Z   
   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   X   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   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   $   6   r   ;   H   	   "   O      .   _   )r   r   I   #   r
   :      N   r    ,   r   r   )r   r   r      r   a   r!   B   E   =   r   ?   )r   r    r%   r   ]      r   (   r   0   D   U   )r   r
   r   r+   r   @      r   L   r   r2   r3   )r   r!   r&   r,   r1   r   r   7   &   r   r   r   )r   r"   r!   r   r2   r   r   S   r       8   r   )r   r#   r'   r-   r   r4   r6   r   r$   r,      P   )r   r    r(   r   r3   r5   r    r$   r   r1   '   !   )r   r$   r)   r.   r   r   r7   r,   r1   r   F   V   )r   r   r   r/   r2   r   r8   r9   r;   r=   r      )r   r   r*   r0   r3   r   r   r:   r<   r>   r?   r   )   r2   r      r            r   r7      r,   )nparrayshape)ABnopt_perms       l/var/www/html/photoedit/myenv/lib/python3.14/site-packages/scipy/optimize/tests/test_quadratic_assignment.pychr12crN      s    ......-.-.--	A 	777756577757	A 88A;q	
Axx?@A37JH>    z1ignore:The NumPy global RNG was seeded by callingc                   B   a  ] tR t^2t o RtR tR tR tR tR t	Rt
V tR# )	QAPCommonTestsz.
Base class for `quadratic_assignment` tests.
c           	        \         P                  P                  R 4      p. RO. R	O. R
O. RO.p. RO. RO. RO. RO.p\        W#V P                  RVRR/R7      p\        VP                  ^
4       \        VP                  \         P                  ! . RO4      4       \        W#V P                  RVRR/R7      pV P                  R8X  dD   \        VP                  ^%4       \        VP                  \         P                  ! . RO4      4       MB\        VP                  ^(4       \        VP                  \         P                  ! . RO4      4       \        W#V P                  RVRR/R7       R# )   mX)Ec rngmaximizeFmethodoptionsTfaqN)r   rA   rB   rE   )r   r   r   rE   )r   r   r   r   )r   r   r   r   )r   rB   rE   rB   )r   rE   r   rE   )r   r   rE   r   r   rE   rA   r   )r   rE   rA   r   )r   rA   r   rE   )	rF   randomr   r   rW   r   funcol_indrG   selfrT   rI   rJ   ress   &    rM   test_accuracy_1QAPCommonTests.test_accuracy_1;   s   ii##$78
 
 #1,13
E+JL 	SWWb!S[["((<"89"1,13
D+IK ;;%"%bhh|&<="%bhh|&<=Q$++&+S*d%C	ErO   c           	        \         P                  P                  R 4      p\         P                  ! . R	O. R
O. RO. RO.4      p\         P                  ! . RO. RO. RO. RO.4      p\	        W#V P
                  RVRR/R7      pV P
                  R8X  dD   \        VP                  ^4       \        VP                  \         P                  ! . RO4      4       MB\        VP                  ^4       \        VP                  \         P                  ! . RO4      4       \	        W#V P
                  RVRR/R7      p\        VP                  R4       \        VP                  \         P                  ! . RO4      4       R# )rS   rT   rU   FrV   rY   Ti  N)r   r2   rC   rD   )r2   r   r2   r   )rC   r2   r   rE   )rD   r   rE   r   )r   r   rC   rB   )r   r   r2   rE   )rC   r2   r   r2   )rB   rE   r2   r   )r   r   rA   rE   rZ   )rE   rA   r   r   )	rF   r[   r   rG   r   rW   r   r\   r]   r^   s   &    rM   test_accuracy_2QAPCommonTests.test_accuracy_2a   s   ii##$78HHl"""$ %
 HHl"""$ %
 #1,13
E+JL ;;%#&bhh|&<=#&bhh|&<="1,13
D+IK 	SWWc"S[["((<"89rO   c           	     z   \         P                  P                  R 4      p\        4       w  r#p\	        W#V P
                  RV/R7      p\        RVP                  u;8*  ;'       d    R8  Mu 4       \        VP                  \        W#VP                  4      4       \	        W#V P
                  RVRR/R7      p\        RVP                  u;8*  ;'       d    R8  Mu 4       \        VP                  \        W#VP                  4      4       \         P                  ! . RO4      p\         P                  ! WdV,          .4      P                  p\	        W#V P
                  R	VRV/R7      p\        RVP                  u;8*  ;'       d    R8  Mu 4       \        VP                  V,          WF,          4       \         P                  ! \         P                  ! \        V4      4      V.4      P                  p\	        W#V P
                  R	VRV/R7      p\        VP                  VR,          P                  4       \        VP                  R4       \        VP                   ^ 4       \         P"                  ! R4      p\	        WV P
                  RV/R7      p\        VP                   ^ 4       \        VP                  ^ 4       R
# )rS   rT   rV   +  R  rU   Ti! iL partial_matchN)rB   rC   r   )NNNr   )r   r   )rF   r[   r   rN   r   rW   r   r\   r   _scorer]   rG   asarrayTarangelennitempty)	r_   rT   rI   rJ   rL   r`   	seed_costseedrq   s	   &        rM   test_accuracy_3QAPCommonTests.test_accuracy_3   s   ii##$78h #1,13<9((5()SWWfQ3;;78 #1,13
D+IK((5()SWWfQ3;;78 HHZ(	zz9y&9:;=="1,;T5#+NP((5()S[[+X-@A zz299SV,h78::"1,;T5#+NPS[[$t*,,/SWWe$SWWa   "5,13<9SWWa SWWa rO   c           	         \        4       w  rp\        P                  ! \        4      ;_uu_ 4        \	        WV P
                  R R/R7       RRR4       R#   + '       g   i     R# ; i)z	ekki-ekkiTrV   N)rN   pytestwarnsr   r   rW   )r_   rI   rJ   rL   s   &   rM   test_unknown_options#QAPCommonTests.test_unknown_options   sC    h\\/** dkk*5t)<> +***s   AA&	c                <   \         P                  ! ^4      P                  R
4      p\         P                  ! ^4      P                  R
4      p\        P                  ! \
        RR7      ;_uu_ 4        \         P                  P                  ^ 4      p\        WV P                  RVRR/R7       RRR4       \        P                  ! \        RR7      ;_uu_ 4        \         P                  P                  ^ 4       \        WV P                  RR/R7       RRR4       \        P                  ! \        R	R7      ;_uu_ 4        \        WV P                  R^ RR/R7       RRR4       R#   + '       g   i     L; i  + '       g   i     Ln; i  + '       g   i     R# ; i)r   zUse of `RandomState`*matchrT   rU   FrV   Nz The NumPy global RNG was seeded*z!The behavior when the rng option*rB   rB   )rF   rn   reshaperw   rx   DeprecationWarningr[   RandomStater   rW   FutureWarningrs   )r_   rI   rJ   rT   s   &   rM    test_deprecation_future_warnings/QAPCommonTests.test_deprecation_future_warnings   s   IIbM!!&)IIbM!!&)\\,4KLL))''*C dkk*/j%)HJ M
 \\-/QRRIINN1 dkk*4e)<> S
 \\-/RSS dkk*/J)FH TS ML
 SR
 TSSs$   /<E$:E7=F
$E4	7F	
F	 N)__name__
__module____qualname____firstlineno____doc__ra   rd   rt   ry   r   __static_attributes____classdictcell____classdict__s   @rM   rQ   rQ   2   s-      EL:<%!N>H HrO   rQ   c                   0   a  ] tR t^t o RtR tR tRtV tR# )TestFAQrY   c                   \         P                  P                  R 4      p\        4       w  r#p\	        V4      p\        W#R^/R7      p\        VP                  ^4       \        W#RR/R7      p\        RVP                  u;8*  ;'       d    R8  Mu 4       \        W#RVRR	/R7      p\        RVP                  u;8*  ;'       d    R8  Mu 4       \         P                  ! WU34      \        V4      ,          p\        V4      p\        W#RV/R7      p\        RVP                  u;8*  ;'       d    R8  4       R
# u 4       R
# )rS   maxiterrX   shuffle_inputTrg   rh   rT   P0
randomizedN)rF   r[   r   rN   ro   r   r   rp   r   r\   onesfloat_doubly_stochastic)r_   rT   rI   rJ   rL   rK   r`   Ks   &       rM   test_optionsTestFAQ.test_options   s    ii##$78hF #1)Q@SWWa  #1/41HI((5() #1%dL1QR((5() GGQFOeAh&q!"1$;((5()()rO   c           
        \         P                  ! ^4      pTp\        P                  ! \        RR7      ;_uu_ 4        \        WRR/R7       RRR4       \        P                  ! \        RR7      ;_uu_ 4        \        WRR/R7       RRR4       \        P                  ! \        R	R7      ;_uu_ 4        \        WR
R/R7       RRR4       \        P                  ! \        4      ;_uu_ 4        \        WRR/R7       RRR4       \        P                  ! \        RR7      ;_uu_ 4        \        \         P                  ! ^4      \         P                  ! ^4      R\         P                  ! R4      /R7       RRR4       . RO. RO. RO.p\        P                  ! \        RR7      ;_uu_ 4        \        \         P                  ! ^4      \         P                  ! ^4      RV/R7       RRR4       R#   + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL^; i  + '       g   i     EL8; i  + '       g   i     L; i  + '       g   i     R# ; i)rE   zInvalid 'P0' parameterr|   r   r[   r   Nz$'maxiter' must be a positive integerr   z'tol' must be a positive floattolg      ?z1`P0` matrix must have shape m' x m', where m'=n-mz%`P0` matrix must be doubly stochasticrA   rA   )g?皙?333333?)r   g333333?r   )r   r   gffffff?)rF   identityrw   raises
ValueErrorr   	TypeErrorr   )r_   rI   rJ   r   s   &   rM   test_specific_input_validation&TestFAQ.test_specific_input_validation   s   KKN ]]:-EFF h/?@ G]]"HJ J 	2?J ]]:-MNN r{; O
 ]]9%% 	3/?@ & ]]IK K !AArwwv/K  ]]"IK K AAq	K K5 GFFJ J J ONN
 &%%K KK K KsH   G29H5H/H.+AI/9I2H	H	H+	.H?	I	I&	r   N)	r   r   r   r   rW   r   r   r   r   r   s   @rM   r   r      s     F*2' 'rO   r   c                   6   a  ] tR tRt o RtR tR tR tRtV t	R# )Test2opti  2optc                v   ^p\        R4      pVP                  W3R7      pVP                  W3R7      p\        W4V P                  RV/R7      p\        R4      pVP                  W3R7      pVP                  W3R7      p\        W4V P                  RV/R7      p\	        VP
                  VP
                  4       R# )   i<2sizerT   rV   N)r   r[   r   rW   r   rp   )r_   rK   rT   rI   rJ   res1res2s   &      rM   test_deterministicTest2opt.test_deterministic
  s    (#JJQFJ#JJQFJ##AuclS(#JJQFJ#JJQFJ##AuclSTXXtxx(rO   c                p   ^p\         P                  P                  R4      pVP                  W3R7      pVP                  W3R7      p\        W4V P                  RV/R7      p\         P
                  ! \         P                  ! ^4      VP                  .4      P                  p\        W4V P                  RVRV/R7      p^^.p\         P
                  ! \         P                  ! ^4      V,          VP                  V,          .4      P                  p	\        W4V P                  RVRVRV	/R7      p
\        VP                  W^,           ,          ^,          8g  4       \        VP                  W^,           ,          ^,          4       \        V
P                  V^,
          V^,
          ,          ^,          4       R# )r2   rS   r   rT   rV   partial_guessri   N)rF   r[   r   r   rW   rG   rn   r]   rm   r   rp   r   )r_   rK   rT   rI   rJ   r   guessr   fixr}   res3s   &          rM   test_partial_guessTest2opt.test_partial_guess  sO   ii##$78JJQFJ#JJQFJ##A-2CL:"))A,5688#A-2C%,PR!f"))A,s+T\\#->?@BB#A-2C%-<e-EF 	AsGAI%&TXXqA#wqy)TXX!ac{1}-rO   c                   \         p\        P                  ! \        R R7      ;_uu_ 4        \	        \
        P                  ! ^4      \
        P                  ! ^4      V P                  RV! ^^4      /R7       RRR4       \        P                  ! \        RR7      ;_uu_ 4        \	        \
        P                  ! ^4      \
        P                  ! ^4      V P                  R\        ^^4      /R7       RRR4       \        P                  ! \        RR7      ;_uu_ 4        \	        \
        P                  ! ^4      \
        P                  ! ^4      V P                  R\
        P                  P                  ^^^4      /R7       RRR4       \        P                  ! \        RR7      ;_uu_ 4        \	        \
        P                  ! ^4      \
        P                  ! ^4      V P                  RR
\        ^^4      ,          /R7       RRR4       \        P                  ! \        RR7      ;_uu_ 4        \	        \
        P                  ! ^4      \
        P                  ! ^4      V P                  R^\        ^^4      ,          /R7       RRR4       \        P                  ! \        R	R7      ;_uu_ 4        \	        \
        P                  ! ^4      \
        P                  ! ^4      V P                  R\
        P                  ! R4      /R7       RRR4       R#   + '       g   i     EL; i  + '       g   i     EL<; i  + '       g   i     EL; i  + '       g   i     ELT; i  + '       g   i     L; i  + '       g   i     R# ; i)z0`partial_guess` can have only as many entries asr|   r   rV   Nz%`partial_guess` must have two columnsz%`partial_guess` must have exactly twoz%`partial_guess` must contain only posz0`partial_guess` entries must be less than numberz-`partial_guess` column entries must be uniquer   rE   rE   )_range_matrixrw   r   r   r   rF   r   rW   r[   randr   )r_   _rms   & rM   r   'Test2opt.test_specific_input_validation-  s   ]]HJ J !QQ(,*93q!9)EGJ ]]"IK K AAt{{(-1*=>K ]]"IK K AAt{{("))..Aq*ABK ]]"IK K AAt{{("}Q/B*BCK ]]HJ J !AAt{{(!mAq.A*ABJ ]]EG G !AAt{{("''&/:G GIJ J JK K KK K KK K KJ JG G GsM   AL"AL#A#L7+AM,AM-AM2L 	#L4	7M	M	M/	2N	r   N)
r   r   r   r   rW   r   r   r   r   r   r   s   @rM   r   r     s     F).*- -rO   r   c                   &   a  ] tR tRt o R tRtV tR# )TestQAPOncei]  c                	   \        R 4      p\        P                  ! \        RR7      ;_uu_ 4        \	        VP                  R4      VP                  R4      4       RRR4       \        P                  ! \        RR7      ;_uu_ 4        \	        VP                  R4      VP                  R4      4       RRR4       \        P                  ! \        RR7      ;_uu_ 4        \	        VP                  R4      VP                  R4      4       RRR4       \        P                  ! \        RR7      ;_uu_ 4        \	        VP                  R4      VP                  R4      4       RRR4       \        p\        P                  ! \        RR7      ;_uu_ 4        \	        \        P                  ! ^4      \        P                  ! ^4      RV! ^^4      /R	7       RRR4       \        P                  ! \        R
R7      ;_uu_ 4        \	        \        P                  ! ^4      \        P                  ! ^4      R\        ^^4      /R	7       RRR4       \        P                  ! \        RR7      ;_uu_ 4        \	        \        P                  ! ^4      \        P                  ! ^4      R\        P
                  P                  ^^^4      /R	7       RRR4       \        P                  ! \        RR7      ;_uu_ 4        \	        \        P                  ! ^4      \        P                  ! ^4      RR\        ^^4      ,          /R	7       RRR4       \        P                  ! \        RR7      ;_uu_ 4        \	        \        P                  ! ^4      \        P                  ! ^4      R^\        ^^4      ,          /R	7       RRR4       \        P                  ! \        RR7      ;_uu_ 4        \	        \        P                  ! ^4      \        P                  ! ^4      R\        P                  ! R4      /R	7       RRR4       R#   + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL\; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL`; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL,; i  + '       g   i     R# ; i)inn z`A` must be squarer|   Nz`B` must be squarez!`A` and `B` must have exactly twoz*`A` and `B` matrices must be of equal sizez.`partial_match` can have only as many seeds asri   r   z%`partial_match` must have two columnsz%`partial_match` must have exactly twoz%`partial_match` must contain only posz0`partial_match` entries must be less than numberz-`partial_match` column entries must be unique)rA   rB   r   )rA   rA   rA   r~   r   r   )r   rw   r   r   r   r[   r   rF   r   r   r   )r_   rT   r   s   &  rM   test_common_input_validation(TestQAPOnce.test_common_input_validationa  s   (#]]:-ABB 

6"

6" C
 ]]:-ABB 

6"

6" C ]]"EG G 

9%

9%G ]]BD D !

6"

6"D ]]FH H !QQ*93q!9)EGH ]]"IK K AA(-1*=>K ]]"IK K AA("))..Aq*ABK ]]"IK K AA("}Q/B*BCK ]]HJ J !AA(!mAq.A*ABJ ]]EG G !AA("''&/:G G} CBB
 CBBG G GD D DH H HK K KK K KK K KJ J JG G Gs}   +P4+Q+Q5+Q0A R>AR-AR,1A
S 'A
SAS(4Q	Q	Q-	0R	R	R)	,R=	 S	S%	(S9	r   N)r   r   r   r   r   r   r   r   s   @rM   r   r   ]  s     G GrO   r   c                     \         P                  ! W34      p\        V4       F  p\         P                  ! V 4      VR V3&   K   	  V# )rj   )rF   zerosrangern   )abmatis   &&  rM   r   r     s:    
((A6
C1XIIaLAqD	 JrO   c                    R p^V P                  ^ R7      ,          p^W,          ,          pT p\        V4       F  p\        P                  ! VP                  ^R7      ^,
          4      V8  P	                  4       '       dH   \        P                  ! VP                  ^ R7      ^,
          4      V8  P	                  4       '       d    V# ^W@,          ,          p^W,          ,          pVR,          V ,          V,          pK  	  V# )i  )axis)rj   N)sumr   rF   absall)Pr   max_itercrP_epsits   &&     rM   r   r     s     H	AEEqEMA	QUAEHoVVEII1I%)*S05577		q	)A-.499;; L	 KK'
Q"  LrO   )gMbP?)rw   numpyrF   numpy.randomr   scipy.optimizer   r   scipy.optimize._qapr   rk   numpy.testingr   r   rN   markfilterwarningsrQ   r   r   r   r   r   r   rO   rM   <module>r      s      $ @ 5 /"J OPKH KH QKH\Cn CLS~ Sl OPJ J QJZrO   