Ë
    0Ò^j:6  ã                   ó^   — d Z ddlmZ ddlmZmZ ddlmZmZm	Z	m
Z
mZmZ ddlZd„ Zd„ Zd	„ Zy)
a  
This module contains subroutines concerning the update of the interpolation set.

Translated from Zaikun Zhang's modern-Fortran reference implementation in PRIMA.

Dedicated to late Professor M. J. D. Powell FRS (1936--2015).

Python translation by Nickolai Belakovski.
é   )Ú	DEBUGGING)ÚDAMAGING_ROUNDINGÚINFO_DEFAULT)ÚisinvÚmatprodÚoutprodÚinprodÚinvÚprimasumé    Nc                 óÆ  — d}t        j                  |«      }t        j                  |	d«      }t        �rù|dk\  sJ ‚|dk\  sJ ‚| dk\  r| |dz   k  sJ ‚t        t        j                  |«      t        j
                  |«      z  «      rJ ‚t        j                  |«      t        j                  |«      z  rJ ‚t        j                  |«      |k(  rt        t        j                  |«      «      sJ ‚t        j                  |«      t        j                  |«      z  rJ ‚t        j                  |d«      |k(  rt        j                  |d«      |dz   k(  sJ ‚t        j                  |«      t        j
                  |«      z  j                  «       rJ ‚t        j                  |«      |dz   k(  r:t        |dt        j                  |«      z  t        j                  |«      z  k  «      rJ ‚t        j                  |«      |dz   k(  r4t        t        j                  |«      t        j                  |«      z  «      rJ ‚t        j                  |	d«      |k(  rt        j                  |	d«      |dz   k(  sJ ‚t        j                  |	«      j                  «       sJ ‚t        t        t        |	dd…d|…f   «      d¬«      dkD  «      sJ ‚t        j                  |
d«      |k(  rt        j                  |
d«      |k(  sJ ‚t        j                  |
«      j                  «       sJ ‚t        |	dd…d|…f   |
|«      sJ ‚| €||||	|
t        fS |	}|
}| |k  rI||	dd…| f<   |
| dd…f   t        |
| dd…f   |«      z  }|
t        t        |
|«      |«      z  }
||
| dd…f<   n{|	dd…|fxx   |z  cc<   |	dd…d|…fxx   t        j                   ||df«      j"                  z  cc<   t        |
|«      }t        |
d¬«      }|
t        ||dt%        |«      z
  z  «      z  }
d}t        j&                  t        t        |
|	dd…d|…f   «      t        j(                  |«      z
  «      «      }|d|z  kD  st        j                  |«      rŽt+        |	dd…d|…f   «      }t        j&                  t        t        ||	dd…d|…f   «      t        j(                  |«      z
  «      «      }||k  s*t        j                  |«      rt        j                  |«      s|}
|}||k  r+||| <   ||dd…| f<   ||| <   t-        |||||	|
«      \  }}}}	}
}n
t.        }|}	|}
t        �rt        j                  |d«      |k(  rt        j                  |d«      |dz   k(  sJ ‚t        j                  |«      t        j
                  |«      z  j                  «       rJ ‚t        j                  |«      |dz   k(  r:t        |dt        j                  |«      z  t        j                  |«      z  k  «      rJ ‚t        j                  |«      |dz   k(  r4t        t        j                  |«      t        j                  |«      z  «      rJ ‚t        j                  |	d«      |k(  rt        j                  |	d«      |dz   k(  sJ ‚t        j                  |	«      j                  «       sJ ‚t        t        t        |	dd…d|…f   «      d¬«      dkD  «      sJ ‚t        j                  |
d«      |k(  rt        j                  |
d«      |k(  sJ ‚t        j                  |
«      j                  «       sJ ‚t        |	dd…d|…f   |
|«      s|t.        k(  sJ ‚|	|
||||fS )zi
    This function revises the simplex by updating the elements of SIM, SIMI, FVAL, CONMAT, and CVAL
    é   r   N©Úaxisçš™™™™™¹?)ÚnpÚsizer   ÚanyÚisnanÚisneginfÚisposinfÚallÚisfiniter   Úabsr   r   r	   r   r   ÚtileÚTÚsumÚmaxÚeyer
   Ú
updatepoler   )ÚjdropÚconstrÚcpenÚcstrvÚdÚfÚconmatÚcvalÚfvalÚsimÚsimiÚitolÚnum_constraintsÚnum_varsÚsim_oldÚsimi_oldÚ
simi_jdropÚsimidÚsum_simiÚerriÚ	simi_testÚ	erri_testÚinfos                          úp/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/scipy/_external/pyprima/cobyla/update.pyÚ	updatexfcr9      sy  € ð €Dô —g‘g˜f“o€OÜ�w‰w�s˜A‹€Hö Ø !Ò#Ð#Ð#Ø˜1Š}Ðˆ}Ø˜Šz˜e x°!¡|Ò3Ð3Ð3Ü”r—x‘x Ó'¬"¯+©+°fÓ*=Ñ=Ô>Ð>Ð>Ü—H‘H˜U“O¤b§k¡k°%Ó&8Ò8Ð9Ð9Ü�w‰w�q‹z˜XÒ%¬#¬b¯k©k¸!«nÔ*=Ð=Ð=Ü—H‘H˜Q“K¤"§+¡+¨a£.Ò0Ð1Ð1Ü�w‰w�v˜qÓ! _Ò4¼¿¹ÀÈÓ9KÈxÐZ[É|Ò9[Ð[Ð[Ü—H‘H˜VÓ$¤r§{¡{°6Ó':Ñ:×?Ñ?ÔAÐAÐAÜ�w‰w�t‹} ¨1¡Ò,´S¸ÀÄBÇHÁHÈTÃNÑ@RÔUW×U`ÑU`ÐaeÓUfÑ@fÑ9fÔ5gÐgÐgÜ�w‰w�t‹} ¨1¡Ò,´S¼¿¹À$»Ì"Ï+É+ÐVZÓJ[Ñ9[Ô5\Ð\Ð\Ü�w‰w�s˜A‹ (Ò*¬r¯w©w°s¸A«À(ÈQÁ,Ò/NÐNÐNÜ�{‰{˜3Ó×#Ñ#Ô%Ð%Ð%Ü”8œC ¢A y¨ y LÑ 1Ó2¸Ô;¸aÑ?Ô@Ð@Ð@Ü�w‰w�t˜QÓ 8Ò+´·±¸¸aÓ0@ÀHÒ0LÐLÐLÜ�{‰{˜4Ó ×$Ñ$Ô&Ð&Ð&Ü�Sš˜I˜X˜I˜Ñ&¨¨dÔ3Ð3Ð3ð €}Ø�t˜T 3¨¬lÐ:Ð:à€GØ€HØˆxÒØˆŠAˆuˆH‰Ø˜%¢˜(‘^¤f¨T°%º°(©^¸QÓ&?Ñ?ˆ
Ø”œ  aÓ(¨*Ó5Ñ5ˆØ#ˆˆU’AˆXŠàŠAˆxˆKÓ˜AÑÓØŠAˆy�ˆyˆLÓœRŸW™W Q¨°1¨Ó6×8Ñ8Ñ8ÓÜ˜˜aÓ ˆÜ˜D qÔ)ˆØ”˜˜x¨1¬s°5«z©>Ñ:Ó;Ñ;ˆð €DÜ�6‰6”#”g˜d Cª¨9¨H¨9¨Ñ$5Ó6¼¿¹ÀÓ9IÑIÓJÓK€DØˆc�D‰jÒœBŸH™H TœNÜ˜šA˜y ˜y˜LÑ)Ó*ˆ	Ü—F‘Fœ3œw y°#²a¸¸(¸°lÑ2CÓDÄrÇvÁvÈhÓGWÑWÓXÓYˆ	Ø�tÒ¤§¡¨¤´r·x±xÀ	Ô7JØˆDØˆDð ˆt‚|ØˆˆU‰Ø!ˆŠq�%ˆxÑØˆˆU‰ä.8¸¸vÀtÈTÐSVÐX\Ó.]Ñ+ˆ��d˜C ¡tä ˆØˆØˆö Ü�w‰w�v˜qÓ! _Ò4¼¿¹ÀÈÓ9KÈxÐZ[É|Ò9[Ð[Ð[Ü—H‘H˜VÓ$¤r§{¡{°6Ó':Ñ:×?Ñ?ÔAÐAÐAÜ�w‰w�t‹} ¨1¡Ò,´S¸ÀÄBÇHÁHÈTÃNÑ@RÔUW×U`ÑU`ÐaeÓUfÑ@fÑ9fÔ5gÐgÐgÜ�w‰w�t‹} ¨1¡Ò,´S¼¿¹À$»Ì"Ï+É+ÐVZÓJ[Ñ9[Ô5\Ð\Ð\Ü�w‰w�s˜A‹ (Ò*¬r¯w©w°s¸A«À(ÈQÁ,Ò/NÐNÐNÜ�{‰{˜3Ó×#Ñ#Ô%Ð%Ð%Ü”8œC ¢A y¨ y LÑ 1Ó2¸Ô;¸aÑ?Ô@Ð@Ð@Ü�w‰w�t˜QÓ 8Ò+´·±¸¸aÓ0@ÀHÒ0LÐLÐLÜ�{‰{˜4Ó ×$Ñ$Ô&Ð&Ð&Ü�Sš˜I˜X˜I˜Ñ&¨¨dÔ3°tÔ?PÒ7PÐPÐPà��d˜F D¨$Ð.Ð.ó    c                 ó  — t        j                  |«      dz
  }t        r¯| dkD  sJ ‚t        j                  |«      |dz   k(  r:t        |dt        j                  |«      z  t        j
                  |«      z  k  «      rJ ‚t        j                  |«      |dz   k(  r4t        t        j                  |«      t        j
                  |«      z  «      rJ ‚t        j                  |«      dz
  }|| |z  z   }t        |«      }|||   k  st        |||   k  |||   k  z  «      r2t         j                  j                  |||kD  ¬«      j                  «       }t        r7|dk\  r||dz   k  sJ ‚||k(  s#||   ||   k  s||   ||   k  r||   ||   k  sJ ‚|S )zŠ
    This subroutine identifies the best vertex of the current simplex with respect to the merit
    function PHI = F + CPEN * CSTRV.
    r   r   )Úmask)
r   r   r   r   r   r   ÚminÚmaÚarrayÚargmin)r#   r(   r)   r.   ÚjoptÚphiÚphimins          r8   ÚfindpolerD   s   sƒ  € ô �w‰w�t‹}˜qÑ €Hõ Ø�aŠxˆˆxÜ�w‰w�t‹} ¨1¡Ò,´S¸ÀÄBÇHÁHÈTÃNÑ@RÔUW×U`ÑU`ÐaeÓUfÑ@fÑ9fÔ5gÐgÐgÜ�w‰w�t‹} ¨1¡Ò,´S¼¿¹À$»Ì"Ï+É+ÐVZÓJ[Ñ9[Ô5\Ð\Ð\ô �7‰7�4‹=˜1Ñ€DØ
�˜‘Ñ
€CÜ�‹X€Fð ��D‘	ÒœS $¨¨d©Ñ"3¸¸sÀ4¹yÑ8HÑ!IÔJô �u‰u�{‰{˜4 s¨V¡|ˆ{Ó5×<Ñ<Ó>ˆõ Ø�qŠy˜T H¨q¡LÒ0Ð0Ð0Ø�xÒ 3 t¡9¨s°8©}Ò#<ÀÀTÁÈcÐRZÉmÒA[Ð`dÐeiÑ`jÐmqÐrzÑm{Ò`{Ð|Ð|Ø€Kr:   c                 ó.  — d}|j                   d   }|j                   d   }t        �r)|dk\  sJ ‚|dk\  sJ ‚| dkD  sJ ‚t        j                  |d«      |k(  rt        j                  |d«      |dz   k(  sJ ‚t        j                  |«      t        j
                  |«      z  j                  «       rJ ‚t        j                  |«      |dz   k(  r:t        |dt        j                  |«      z  t        j                  |«      z  k  «      rJ ‚t        j                  |«      |dz   k(  r4t        t        j                  |«      t        j                  |«      z  «      rJ ‚t        j                  |d«      |k(  rt        j                  |d«      |dz   k(  sJ ‚t        j                  |«      j                  «       sJ ‚t        t        t        |d d …d |…f   «      d¬«      dkD  «      sJ ‚t        j                  |d«      |k(  rt        j                  |d«      |k(  sJ ‚t        j                  |«      j                  «       sJ ‚t        |d d …d |…f   ||«      sJ ‚t        }	t        | ||«      }
|j                  «       }|j                  «       }d|
cxk  r|k  rƒn n€|d d …|fxx   |d d …|
f   z  cc<   |d d …|
f   j                  «       }d|d d …|
f<   |d d …d |…fxx   t        j                   ||df«      j"                  z  cc<   t        |d¬«       ||
d d …f<   t        j$                  t        t'        ||d d …d |…f   «      t        j(                  |«      z
  «      «      }d}|d|z  kD  st        j                  |«      rŽt+        |d d …d |…f   «      }t        j$                  t        t'        ||d d …d |…f   «      t        j(                  |«      z
  «      «      }||k  s*t        j                  |«      rt        j                  |«      s|}|}||k  r;d|
cxk  r|k  r:n n7|||
g   ||
|g<   |d d …||
gf   |d d …|
|gf<   |||
g   ||
|g<   n
t,        }	|}|}t        �r8t        | ||«      |k(  s|	t,        k(  sJ ‚t        j                  |d«      |k(  rt        j                  |d«      |dz   k(  sJ ‚t        j                  |«      t        j
                  |«      z  j                  «       rJ ‚t        j                  |«      |dz   k(  r:t        |dt        j                  |«      z  t        j                  |«      z  k  «      rJ ‚t        j                  |«      |dz   k(  r4t        t        j                  |«      t        j                  |«      z  «      rJ ‚t        j                  |d«      |k(  rt        j                  |d«      |dz   k(  sJ ‚t        j                  |«      j                  «       sJ ‚t        t        t        |d d …d |…f   «      d¬«      dkD  «      sJ ‚t        j                  |d«      |k(  rt        j                  |d«      |k(  sJ ‚t        j                  |«      j                  «       sJ ‚t        |d d …d |…f   ||«      s|	t,        k(  sJ ‚||||||	fS )Nr   r   r   r   )Úshaper   r   r   r   r   r   r   r   r   r   r   r   r   rD   Úcopyr   r   r   r   r   r
   r   )r#   r'   r(   r)   r*   r+   r,   r-   r.   r7   rA   r/   r0   Úsim_joptr4   r5   r6   s                    r8   r    r    �   sî  € ð6 €Dð —l‘l 1‘o€OØ�y‰y˜‰|€Hö Ø !Ò#Ð#Ð#Ø˜1Š}Ðˆ}Ø�aŠxˆˆxÜ�w‰w�v˜qÓ! _Ò4¼¿¹ÀÈÓ9KÈxÐZ[É|Ò9[Ð[Ð[Ü—H‘H˜VÓ$¤r§{¡{°6Ó':Ñ:×?Ñ?ÔAÐAÐAÜ�w‰w�t‹} ¨1¡Ò,´S¸ÀÄBÇHÁHÈTÃNÑ@RÔUW×U`ÑU`ÐaeÓUfÑ@fÑ9fÔ5gÐgÐgÜ�w‰w�t‹} ¨1¡Ò,´S¼¿¹À$»Ì"Ï+É+ÐVZÓJ[Ñ9[Ô5\Ð\Ð\Ü�w‰w�s˜A‹ (Ò*¬r¯w©w°s¸A«À(ÈQÁ,Ò/NÐNÐNÜ�{‰{˜3Ó×#Ñ#Ô%Ð%Ð%Ü”8œC ¢A y¨ y LÑ 1Ó2¸Ô;¸aÑ?Ô@Ð@Ð@Ü�w‰w�t˜QÓ 8Ò+´·±¸¸aÓ0@ÀHÒ0LÐLÐLÜ�{‰{˜4Ó ×$Ñ$Ô&Ð&Ð&Ü�Sš˜I˜X˜I˜Ñ&¨¨dÔ3Ð3Ð3ô €Dô �D˜$ Ó%€Dð
 �h‰h‹j€GØ�y‰y‹{€HØˆDÔ�8Õð 	ŠAˆxˆKÓ˜C¢ 4 ™LÑ(ÓØ’q˜$�w‘<×$Ñ$Ó&ˆØˆŠAˆtˆG‰ØŠAˆy�ˆyˆLÓœRŸW™W X°¸!¨}Ó=×?Ñ?Ñ?Óô " $¨QÔ/Ð/ˆˆT’1ˆW‰ô �6‰6”#”g˜d Cª¨9¨H¨9¨Ñ$5Ó6¼¿¹ÀÓ9IÑIÓJÓK€DØ€DØˆc�D‰jÒœBŸH™H TœNÜ˜šA˜y ˜y˜LÑ)Ó*ˆ	Ü—F‘Fœ3œw y°#²a¸¸(¸°lÑ2CÓDÄrÇvÁvÈhÓGWÑWÓXÓYˆ	Ø�tÒ¤§¡¨¤´r·x±xÀ	Ô7JØˆDØˆDð
 ˆt‚|Ø�Ô�xÕØ%)¨8°TÐ*:Ñ%;ˆD�$˜Ð!Ñ"Ø*0²°X¸tÐ4DÐ1DÑ*EˆF’1�t˜XÐ&Ð&Ñ'Ø%)¨8°TÐ*:Ñ%;ˆD�$˜Ð!Ò"ä ˆØˆØˆö Ü˜˜d DÓ)¨XÒ5¸ÔARÒ9RÐRÐRÜ�w‰w�v˜qÓ! _Ò4¼¿¹ÀÈÓ9KÈxÐZ[É|Ò9[Ð[Ð[Ü—H‘H˜VÓ$¤r§{¡{°6Ó':Ñ:×?Ñ?ÔAÐAÐAÜ�w‰w�t‹} ¨1¡Ò,´S¸ÀÄBÇHÁHÈTÃNÑ@RÔUW×U`ÑU`ÐaeÓUfÑ@fÑ9fÔ5gÐgÐgÜ�w‰w�t‹} ¨1¡Ò,´S¼¿¹À$»Ì"Ï+É+ÐVZÓJ[Ñ9[Ô5\Ð\Ð\Ü�w‰w�s˜A‹ (Ò*¬r¯w©w°s¸A«À(ÈQÁ,Ò/NÐNÐNÜ�{‰{˜3Ó×#Ñ#Ô%Ð%Ð%Ü”8œC ¢A y¨ y LÑ 1Ó2¸Ô;¸aÑ?Ô@Ð@Ð@Ü�w‰w�t˜QÓ 8Ò+´·±¸¸aÓ0@ÀHÒ0LÐLÐLÜ�{‰{˜4Ó ×$Ñ$Ô&Ð&Ð&ä�Sš˜I˜X˜I˜Ñ&¨¨dÔ3°tÔ?PÒ7PÐPÐPà�4˜˜s D¨$Ð.Ð.r:   )Ú__doc__Úcommon.constsr   Úcommon.infosr   r   Úcommon.linalgr   r   r   r	   r
   r   Únumpyr   r9   rD   r    © r:   r8   ú<module>rO      s.   ðñõ &ß :ß J× JÛ ò`/òD'óTD/r:   