Ë
    éì�idD  ã                   ó,  — d dl Z d dlZd dlmZ d dlmZmZ d dlm	Z
 d dlmZmZ d„ Ze j                  j!                  d«       G d„ d	«      «       Z G d
„ de«      Z G d„ de«      Ze j                  j!                  d«       G d„ d«      «       Zd„ Zdd„Zy)é    N)Údefault_rng)Úquadratic_assignmentÚOptimizeWarning)Ú_calc_score)Úassert_equalÚassert_c                  óR  — g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d	¢g d
¢g d¢g d¢g} g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g}t        j                  | «      t        j                  |«      }} | j                  d   }t        j                  g d¢«      dg|z  z
  }| ||fS )N)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   r   )é   r2   r   é   r   é   é   é   r   r7   é   r,   r   )ÚnpÚarrayÚshape)ÚAÚBÚnÚopt_perms       ú“/var/www/ITT-ServiceAPI-Services/ITT-Document-Scan/mrzscanner/mrzenv/lib/python3.12/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ô �8‰8�A‹;œŸ™ ›€q€AØ	�‰�‰
€Aä�x‰xÒ?Ó@ÀAÀ3ÈÁ7ÑJ€Hàˆa�ˆ>Ðó    z1ignore:The NumPy global RNG was seeded by callingc                   ó.   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚQAPCommonTestsz6
    Base class for `quadratic_assignment` tests.
    c                 óÈ  — t         j                  j                  d«      }g d¢g d¢g d¢g d¢g}g d¢g d¢g d¢g d¢g}t        ||| j                  |d	d
œ¬«      }t        |j                  d«       t        |j                  t        j                  g d¢«      «       t        ||| j                  |dd
œ¬«      }| j                  dk(  rBt        |j                  d«       t        |j                  t        j                  g d¢«      «       nAt        |j                  d«       t        |j                  t        j                  g d¢«      «       t        ||| j                  |dd
œ¬«       y )Nì   m«X)Eëc )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   F©ÚrngÚmaximize©ÚmethodÚoptionsr   ©r   rE   rA   r   TÚfaqr   )r   rE   rA   r   r-   )r   rA   r   rE   )	rF   Úrandomr   r   rX   r   ÚfunÚcol_indrG   ©ÚselfrU   rI   rJ   Úress        rM   Útest_accuracy_1zQAPCommonTests.test_accuracy_1;   s  € ä�i‰i×#Ñ#Ð$7Ó8ˆâÚÚÚðˆò
 ÚÚÚðˆô
 # 1 a°·±Ø36ÀEÑ+JôLˆô 	�S—W‘W˜bÔ!Ü�S—[‘[¤"§(¡(ª<Ó"8Ô9ä" 1 a°·±Ø36ÀDÑ+IôKˆð �;‰;˜%Òä˜Ÿ™ "Ô%Ü˜Ÿ™¤b§h¡hª|Ó&<Õ=ä˜Ÿ™ "Ô%Ü˜Ÿ™¤b§h¡hª|Ó&<Ô=ä˜Q ¨$¯+©+Ø-0¸dÑ%Cö	ErO   c                 óÜ  — t         j                  j                  d«      }t        j                  g d¢g d¢g d¢g d¢g«      }t        j                  g d¢g d¢g d¢g d	¢g«      }t	        ||| j
                  |d
dœ¬«      }| j
                  dk(  rBt        |j                  d«       t        |j                  t        j                  g d¢«      «       nAt        |j                  d«       t        |j                  t        j                  g d¢«      «       t	        ||| j
                  |ddœ¬«      }t        |j                  d«       t        |j                  t        j                  g d¢«      «       y )NrS   )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   FrT   rW   r[   é²   )r   r   rA   rE   é°   rZ   Ti  )rE   rA   r   r   )	rF   r\   r   rG   r   rX   r   r]   r^   r_   s        rM   Útest_accuracy_2zQAPCommonTests.test_accuracy_2a   s  € Ü�i‰i×#Ñ#Ð$7Ó8ˆä�H‰H’lÚ"Ú"Ú"ð$ó %ˆô
 �H‰H’lÚ"Ú"Ú"ð$ó %ˆô
 # 1 a°·±Ø36ÀEÑ+JôLˆð �;‰;˜%Òä˜Ÿ™ #Ô&Ü˜Ÿ™¤b§h¡hª|Ó&<Õ=ä˜Ÿ™ #Ô&Ü˜Ÿ™¤b§h¡hª|Ó&<Ô=ä" 1 a°·±Ø36ÀDÑ+IôKˆô 	�S—W‘W˜cÔ"Ü�S—[‘[¤"§(¡(ª<Ó"8Õ9rO   c                 ó@  — t         j                  j                  d«      }t        «       \  }}}t	        ||| j
                  d|i¬«      }t        d|j                  cxk  xr dk  nc «       t        |j                  t        |||j                  «      «       t	        ||| j
                  |ddœ¬«      }t        d|j                  cxk  xr d	k  nc «       t        |j                  t        |||j                  «      «       t        j                  g d
¢«      }t        j                  |||   g«      j                  }t	        ||| j
                  ||dœ¬«      }t        d|j                  cxk  xr dk  nc «       t        |j                  |   ||   «       t        j                  t        j                  t        |«      «      |g«      j                  }t	        ||| j
                  ||dœ¬«      }t        |j                  |d d …df   j                  «       t        |j                  d«       t        |j                   d«       t        j"                  d«      }t	        ||| j
                  d|i¬«      }t        |j                   d«       t        |j                  d«       y )NrS   rU   rW   é”+  éR  TrT   i! iL )rB   rC   r   )Úpartial_matchrU   r   r   )r   r   )rF   r\   r   rN   r   rX   r   r]   r   Ú_scorer^   rG   ÚasarrayÚTÚarangeÚlenÚnitÚempty)	r`   rU   rI   rJ   rL   ra   Ú	seed_costÚseedrq   s	            rM   Útest_accuracy_3zQAPCommonTests.test_accuracy_3   sý  € Ü�i‰i×#Ñ#Ð$7Ó8ˆÜ›‰ˆˆ1ˆhô # 1 a°·±Ø,1°3¨<ô9ˆä�˜Ÿ™Ö( 5Ô(Ô)Ü�S—W‘Wœf Q¨¨3¯;©;Ó7Ô8ô # 1 a°·±Ø36ÀDÑ+IôKˆä�˜Ÿ™Ö( 5Ô(Ô)Ü�S—W‘Wœf Q¨¨3¯;©;Ó7Ô8ô —H‘HšZÓ(ˆ	Ü�z‰z˜9 h¨yÑ&9Ð:Ó;×=Ñ=ˆÜ" 1 a°·±Ø=AÈ#Ñ+NôPˆä�˜Ÿ™Ö( 5Ô(Ô)Ü�S—[‘[ Ñ+¨X°iÑ-@ÔAô �z‰zœ2Ÿ9™9¤S¨£VÓ,¨hÐ7Ó8×:Ñ:ˆÜ" 1 a°·±Ø=AÈ#Ñ+NôPˆä�S—[‘[ $¢q¨! t¡*§,¡,Ô/Ü�S—W‘W˜eÔ$Ü�S—W‘W˜aÔ ô —‘˜Ó ˆÜ" 5¨%¸¿¹Ø,1°3¨<ô9ˆä�S—W‘W˜aÔ Ü�S—W‘W˜aÕ rO   c                 ó²   — t        «       \  }}}t        j                  t        «      5  t	        ||| j
                  ddi¬«       d d d «       y # 1 sw Y   y xY w)Nz	ekki-ekkiTrW   )rN   ÚpytestÚwarnsr   r   rX   )r`   rI   rJ   rL   s       rM   Útest_unknown_optionsz#QAPCommonTests.test_unknown_options¦   sJ   € Ü›‰ˆˆ1ˆhä�\‰\œ/Ó*ñ 	>Ü   A¨d¯k©kØ*5°tÐ)<õ>÷	>÷ 	>ñ 	>ús   ¨AÁAc           	      óÖ  — t        j                  d«      j                  d«      }t        j                  d«      j                  d«      }t        j                  t
        d¬«      5  t         j                  j                  d«      }t        ||| j                  |ddœ¬«       d d d «       t        j                  t        d	¬«      5  t         j                  j                  d«       t        ||| j                  d
di¬«       d d d «       t        j                  t        d¬«      5  t        ||| j                  dddœ¬«       d d d «       y # 1 sw Y   Œ¨xY w# 1 sw Y   ŒVxY w# 1 sw Y   y xY w)Nr   ©rB   rB   zUse of `RandomState`*©Úmatchr   FrT   rW   z The NumPy global RNG was seeded*rV   z!The behavior when the rng option*)rF   rn   Úreshaperv   rw   ÚDeprecationWarningr\   ÚRandomStater   rX   ÚFutureWarningrs   )r`   rI   rJ   rU   s       rM   Ú test_deprecation_future_warningsz/QAPCommonTests.test_deprecation_future_warnings­   s%  € ä�I‰I�b‹M×!Ñ! &Ó)ˆÜ�I‰I�b‹M×!Ñ! &Ó)ˆä�\‰\Ô,Ð4KÔLñ 	JÜ—)‘)×'Ñ'¨Ó*ˆCÜ   A¨d¯k©kØ14À%Ñ)HõJ÷	Jô
 �\‰\œ-Ð/QÔRñ 	>Ü�I‰I�N‰N˜1ÔÜ   A¨d¯k©kØ*4°eÐ)<õ>÷	>ô
 �\‰\œ-Ð/RÔSñ 	HÜ   A¨d¯k©kØ12ÀÑ)FõH÷	Hð 	H÷	Jð 	Jú÷
	>ð 	>ú÷
	Hð 	Hús$   Á$<EÃ;EÄ!EÅEÅEÅE(N)	Ú__name__Ú
__module__Ú__qualname__Ú__doc__rb   rf   rt   rx   r�   © rO   rM   rQ   rQ   2   s$   „ ñò EòL:ò<%!òN>óHrO   rQ   c                   ó   — e Zd ZdZd„ Zd„ Zy)ÚTestFAQr[   c                 óZ  — t         j                  j                  d«      }t        «       \  }}}t	        |«      }t        ||ddi¬«      }t        |j                  d«       t        ||ddi¬«      }t        d|j                  cxk  xr dk  nc «       t        |||d	d
œ¬«      }t        d|j                  cxk  xr dk  nc «       t        j                  ||f«      t        |«      z  }t        |«      }t        ||d|i¬«      }t        d|j                  cxk  xr
 dk  «       y c «       y )NrS   Úmaxiterr2   ©rY   Úshuffle_inputTrh   ri   Ú
randomized)rU   ÚP0rŽ   )rF   r\   r   rN   ro   r   r   rp   r   r]   ÚonesÚfloatÚ_doubly_stochastic)r`   rU   rI   rJ   rL   rK   ra   ÚKs           rM   Útest_optionszTestFAQ.test_optionsÄ   sù   € ä�i‰i×#Ñ#Ð$7Ó8ˆä›‰ˆˆ1ˆhÜ�‹Fˆô # 1 a°)¸Q°Ô@ˆÜ�S—W‘W˜aÔ ô # 1 a°/À4Ð1HÔIˆÜ�˜Ÿ™Ö( 5Ô(Ô)ô # 1 a¸ÀLÑ1QÔRˆÜ�˜Ÿ™Ö( 5Ô(Ô)ô �G‰G�Q˜�F‹Oœe A›hÑ&ˆÜ˜qÓ!ˆÜ" 1 a°$¸°Ô;ˆÜ�˜Ÿ™Ö( 5Ñ(Õ)Ñ(Õ)rO   c           	      ó
  — t        j                  d«      }|}t        j                  t        d¬«      5  t        ||ddi¬«       d d d «       t        j                  t        d¬«      5  t        ||dd	i¬«       d d d «       t        j                  t        d
¬«      5  t        ||dd	i¬«       d d d «       t        j                  t        «      5  t        ||ddi¬«       d d d «       t        j                  t        d¬«      5  t        t        j                  d«      t        j                  d«      dt        j                  d«      i¬«       d d d «       g d¢g d¢g d¢g}t        j                  t        d¬«      5  t        t        j                  d«      t        j                  d«      d|i¬«       d d d «       y # 1 sw Y   �ŒwxY w# 1 sw Y   �ŒPxY w# 1 sw Y   �Œ)xY w# 1 sw Y   �ŒxY w# 1 sw Y   Œ£xY w# 1 sw Y   y xY w)NrE   zInvalid 'P0' parameterr{   rŽ   r\   r‹   z$'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-mrB   ©rA   rA   )gš™™™™™Ù?çš™™™™™É?ç333333Ó?)r™   g333333ã?r˜   )r˜   r˜   gffffffæ?z%`P0` matrix must be doubly stochasticrA   )rF   Úidentityrv   ÚraisesÚ
ValueErrorr   Ú	TypeErrorr�   )r`   rI   rJ   r’   s       rM   Útest_specific_input_validationz&TestFAQ.test_specific_input_validationÝ   s¶  € ä�K‰K˜‹NˆØˆô �]‰]œ:Ð-EÔFñ 	AÜ   A°°hÐ/?Õ@÷	Aä�]‰]ÜÐ"HôJñ 	@ä   A°	¸2¨Õ?÷	@ô �]‰]œ:Ð-MÔNñ 	<Ü   A°°r¨{Õ;÷	<ô
 �]‰]œ9Ó%ñ 	AÜ   A°	¸3Ð/?Õ@÷	Aô �]‰]ÜØIôKñ 	ô !Ü—‘˜A“¤§¡¨A£ØœrŸw™w v›Ð/õ÷	ò ÚÚðˆô �]‰]ÜÐ"IôKñ 	ä Ü—‘˜A“¤§¡¨A£¸¸q¸	õ÷	ð 	÷5	Añ 	Aú÷	@ñ 	@ú÷	<ñ 	<ú÷
	Añ 	Aú÷	ð 	ú÷	ð 	úsH   ³F9Á'GÂGÃG ÄA
G-Å97G9Æ9GÇGÇGÇ G*Ç-G6Ç9HN)r‚   rƒ   r„   rX   r“   rž   r†   rO   rM   rˆ   rˆ   Á   s   „ Ø€Fò*ó2'rO   rˆ   c                   ó"   — e Zd ZdZd„ Zd„ Zd„ Zy)ÚTest2optÚ2optc                 ó€  — d}t        d«      }|j                  ||f¬«      }|j                  ||f¬«      }t        ||| j                  d|i¬«      }t        d«      }|j                  ||f¬«      }|j                  ||f¬«      }t        ||| j                  d|i¬«      }t	        |j
                  |j
                  «       y )Né   i<2©ÚsizerU   rW   )r   r\   r   rX   r   rp   )r`   rK   rU   rI   rJ   Úres1Úres2s          rM   Útest_deterministiczTest2opt.test_deterministic
  s­   € ØˆÜ˜(Ó#ˆØ�J‰J˜Q ˜FˆJÓ#ˆØ�J‰J˜Q ˜FˆJÓ#ˆÜ# A q°·±ÀuÈcÀlÔSˆä˜(Ó#ˆØ�J‰J˜Q ˜FˆJÓ#ˆØ�J‰J˜Q ˜FˆJÓ#ˆÜ# A q°·±ÀuÈcÀlÔSˆä�T—X‘X˜tŸx™xÕ(rO   c           	      ó  — d}t         j                  j                  d«      }|j                  ||f¬«      }|j                  ||f¬«      }t        ||| j                  d|i¬«      }t        j
                  t        j                  d«      |j                  g«      j                  }t        ||| j                  ||dœ¬«      }ddg}t        j
                  t        j                  d«      |   |j                  |   g«      j                  }	t        ||| j                  |||	d	œ¬«      }
t        |j                  ||d
z   z  dz  k7  «       t        |j                  ||d
z   z  dz  «       t        |
j                  |dz
  |d
z
  z  dz  «       y )Nr2   rS   r¤   rU   rW   )rU   Úpartial_guessrE   rB   )rU   rª   rj   r   )rF   r\   r   r   rX   rG   rn   r^   rm   r   rp   r   )r`   rK   rU   rI   rJ   r¦   Úguessr§   Úfixr|   Úres3s              rM   Útest_partial_guesszTest2opt.test_partial_guess  sS  € ØˆÜ�i‰i×#Ñ#Ð$7Ó8ˆà�J‰J˜Q ˜FˆJÓ#ˆØ�J‰J˜Q ˜FˆJÓ#ˆä# A q°·±Ø-2°C¨Lô:ˆä—‘œ"Ÿ)™) A›,¨¯©Ð5Ó6×8Ñ8ˆÜ# A q°·±Ø47È%Ñ,PôRˆà�!ˆfˆÜ—‘œ"Ÿ)™) A›, sÑ+¨T¯\©\¸#Ñ->Ð?Ó@×BÑBˆÜ# A q°·±Ø47È%Ø>Cñ-EôFˆô 	�—‘˜A˜q ™s™G A™IÑ%Ô&Ü�T—X‘X˜q ! A¡#™w q™yÔ)Ü�T—X‘X  !¡ a¨¡c™{¨1™}Õ-rO   c                 ó  — t         }t        j                  t        d¬«      5  t	        t        j                  d«      t        j                  d«      | j                  d |dd«      i¬«       d d d «       t        j                  t        d¬«      5  t	        t        j                  d«      t        j                  d«      | j                  dt        dd«      i¬«       d d d «       t        j                  t        d	¬«      5  t	        t        j                  d«      t        j                  d«      | j                  dt
        j                  j                  ddd«      i¬«       d d d «       t        j                  t        d
¬«      5  t	        t        j                  d«      t        j                  d«      | j                  ddt        dd«      z  i¬«       d d d «       t        j                  t        d¬«      5  t	        t        j                  d«      t        j                  d«      | j                  ddt        dd«      z  i¬«       d d d «       t        j                  t        d¬«      5  t	        t        j                  d«      t        j                  d«      | j                  dt        j                  d«      i¬«       d d d «       y # 1 sw Y   �ŒZxY w# 1 sw Y   �ŒøxY w# 1 sw Y   �Œ�xY w# 1 sw Y   �ŒxY w# 1 sw Y   Œ¶xY w# 1 sw Y   y xY w)Nz0`partial_guess` can have only as many entries asr{   rA   rª   r2   rE   rW   z%`partial_guess` must have two columnsz%`partial_guess` must have exactly twoz%`partial_guess` must contain only posr•   z0`partial_guess` entries must be less than numberrB   z-`partial_guess` column entries must be unique©rE   rE   )Ú_range_matrixrv   r›   rœ   r   rF   rš   rX   r\   Úrandr�   )r`   Ú_rms     rM   rž   z'Test2opt.test_specific_input_validation-  sR  € äˆÜ�]‰]ÜØHôJñ 	Gô !¤§¡¨Q£´·±¸Q³Ø(,¯©Ø*9¹3¸qÀ!»9Ð)EõG÷	Gô �]‰]ÜÐ"IôKñ 	ä Ü—‘˜A“¤§¡¨A£°t·{±{Ø(¬-¸¸1Ó*=Ð>õ÷	ô �]‰]ÜÐ"IôKñ 	ä Ü—‘˜A“¤§¡¨A£°t·{±{Ø(¬"¯)©)¯.©.¸¸A¸qÓ*AÐBõ÷	ô �]‰]ÜÐ"IôKñ 	ä Ü—‘˜A“¤§¡¨A£°t·{±{Ø(¨"¬}¸QÀÓ/BÑ*BÐCõ÷	ô �]‰]ÜØHôJñ 	ô !Ü—‘˜A“¤§¡¨A£°t·{±{Ø(¨!¬m¸A¸qÓ.AÑ*AÐBõ÷	ô �]‰]ÜØEôGñ 	ô !Ü—‘˜A“¤§¡¨A£°t·{±{Ø(¬"¯'©'°&«/Ð:õ÷	ð 	÷I	Gñ 	Gú÷	ñ 	ú÷	ñ 	ú÷	ñ 	ú÷	ð 	ú÷	ð 	úsM   ¢A	KÂAKÃ=A!KÆAK*Ç3AK7É%ALËKËKËK'Ë*K4Ë7L ÌLN)r‚   rƒ   r„   rX   r¨   r®   rž   r†   rO   rM   r    r      s   „ Ø€Fò)ò.ó*-rO   r    c                   ó   — e Zd Zd„ Zy)ÚTestQAPOncec                 óˆ  — t        d«      }t        j                  t        d¬«      5  t	        |j                  d«      |j                  d«      «       d d d «       t        j                  t        d¬«      5  t	        |j                  d«      |j                  d«      «       d d d «       t        j                  t        d¬«      5  t	        |j                  d«      |j                  d«      «       d d d «       t        j                  t        d	¬«      5  t	        |j                  d«      |j                  d
«      «       d d d «       t        }t        j                  t        d¬«      5  t	        t        j                  d«      t        j                  d«      d |dd«      i¬«       d d d «       t        j                  t        d¬«      5  t	        t        j                  d«      t        j                  d«      dt        dd«      i¬«       d d d «       t        j                  t        d¬«      5  t	        t        j                  d«      t        j                  d«      dt        j
                  j                  ddd«      i¬«       d d d «       t        j                  t        d¬«      5  t	        t        j                  d«      t        j                  d«      ddt        dd«      z  i¬«       d d d «       t        j                  t        d¬«      5  t	        t        j                  d«      t        j                  d«      ddt        dd«      z  i¬«       d d d «       t        j                  t        d¬«      5  t	        t        j                  d«      t        j                  d«      dt        j                  d«      i¬«       d d d «       y # 1 sw Y   �ŒtxY w# 1 sw Y   �Œ3xY w# 1 sw Y   �ŒòxY w# 1 sw Y   �Œ±xY w# 1 sw Y   �ŒWxY w# 1 sw Y   �Œ xY w# 1 sw Y   �Œ”xY w# 1 sw Y   �Œ:xY w# 1 sw Y   ŒßxY w# 1 sw Y   y xY w)Ninn¼ z`A` must be squarer{   )rA   rB   r—   z`B` must be squarez!`A` and `B` must have exactly two)rA   rA   rA   z*`A` and `B` matrices must be of equal sizerz   z.`partial_match` can have only as many seeds asrA   rj   r2   rE   r‹   z%`partial_match` must have two columnsz%`partial_match` must have exactly twoz%`partial_match` must contain only posr•   z0`partial_match` entries must be less than numberrB   z-`partial_match` column entries must be uniquer°   )r   rv   r›   rœ   r   r\   r±   rF   rš   r²   r�   )r`   rU   r³   s      rM   Útest_common_input_validationz(TestQAPOnce.test_common_input_validationa  sY  € Ü˜(Ó#ˆä�]‰]œ:Ð-AÔBñ 	Ü Ø—
‘
˜6Ó"Ø—
‘
˜6Ó"ô÷	ô
 �]‰]œ:Ð-AÔBñ 	Ü Ø—
‘
˜6Ó"Ø—
‘
˜6Ó"ô÷	ô �]‰]ÜÐ"EôGñ 	ä Ø—
‘
˜9Ó%Ø—
‘
˜9Ó%ô÷	ô �]‰]ÜØBôDñ 	ô !Ø—
‘
˜6Ó"Ø—
‘
˜6Ó"ô÷	ô ˆÜ�]‰]ÜØFôHñ 	Gô !¤§¡¨Q£´·±¸Q³Ø*9¹3¸qÀ!»9Ð)EõG÷	Gô �]‰]ÜÐ"IôKñ 	ä Ü—‘˜A“¤§¡¨A£Ø(¬-¸¸1Ó*=Ð>õ÷	ô �]‰]ÜÐ"IôKñ 	ä Ü—‘˜A“¤§¡¨A£Ø(¬"¯)©)¯.©.¸¸A¸qÓ*AÐBõ÷	ô �]‰]ÜÐ"IôKñ 	ä Ü—‘˜A“¤§¡¨A£Ø(¨"¬}¸QÀÓ/BÑ*BÐCõ÷	ô �]‰]ÜØHôJñ 	ô !Ü—‘˜A“¤§¡¨A£Ø(¨!¬m¸A¸qÓ.AÑ*AÐBõ÷	ô �]‰]ÜØEôGñ 	ô !Ü—‘˜A“¤§¡¨A£Ø(¬"¯'©'°&«/Ð:õ÷	ð 	÷}	ñ 	ú÷
	ñ 	ú÷	ñ 	ú÷	ñ 	ú÷	Gñ 	Gú÷	ñ 	ú÷	ñ 	ú÷	ñ 	ú÷	ð 	ú÷	ð 	ús|   §+OÁ5+OÃ+OÄ+O+Å%>O8ÇAPÈ*APÊ#APÌ
AP,Í1A
P8ÏOÏOÏO(Ï+O5Ï8PÐPÐPÐP)Ð,P5Ð8QN)r‚   rƒ   r„   r·   r†   rO   rM   rµ   rµ   ]  s   „ óGrO   rµ   c                 óŒ   — t        j                  | |f«      }t        |«      D ]  }t        j                  | «      |d d …|f<   Œ  |S )N)rF   ÚzerosÚrangern   )ÚaÚbÚmatÚis       rM   r±   r±   «  sA   € Ü
�(‰(�A�q�6Ó
€CÜ�1‹Xò !ˆÜ—I‘I˜a“LˆŠAˆqˆDŠ	ð!à€JrO   c                 ó�  — d}d| j                  d¬«      z  }d| |z  z  }| }t        |«      D ]–  }t        j                  |j                  d¬«      dz
  «      |k  j	                  «       r<t        j                  |j                  d¬«      dz
  «      |k  j	                  «       r |S d|| z  z  }d| |z  z  }|d d …d f   | z  |z  }Œ˜ |S )Niè  r   r   )Úaxis)Úsumrº   rF   ÚabsÚall)ÚPr–   Úmax_iterÚcÚrÚP_epsÚits          rM   r‘   r‘   ²  sÙ   € ð €HØ	ˆA�E‰E�qˆE‹MÑ€AØ	ˆQ�‰U‰€AØ€Eä�H‹oò #ˆÜ�V‰V�E—I‘I 1�IÓ%¨Ñ)Ó*¨SÑ0×5Ñ5Ô7Ü—‘˜Ÿ	™	 q˜	Ó)¨AÑ-Ó.°Ñ4×9Ñ9Ô;àð €Lð	 ��Q‘‰KˆØ��Q‘‰KˆØ’!�T�'‘
˜Q‘ Ñ"‰ð#ð €LrO   )gü©ñÒMbP?)rv   Ú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   