§
    fŠtj<Ÿ  ã                   ó  — d Z ddlZddlmZ ddlmZmZmZm	Z	 ddl
mZmZmZmZmZ ddlmZ ddlmZ dd	lmZmZmZmZmZmZ dd
lmZmZmZ ddlm Z  ddl!m"Z" ddl#m$Z$m%Z% ddl&m'Z'm(Z(m)Z) ddl*m+Z+m,Z, ddl-m.Z.m/Z/ ddl0m1Z1m2Z2 d„ Z3d„ Z4d„ Z5dS )zõ
This module performs the major calculations of COBYLA.

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.
é    Né   )Úcheckbreak_con)ÚREALMAXÚEPSÚ	DEBUGGINGÚMIN_MAXFILT)ÚINFO_DEFAULTÚMAXTR_REACHEDÚDAMAGING_ROUNDINGÚSMALL_TR_RADIUSÚCALLBACK_TERMINATE)Úevaluate)Úsavehist)ÚisinvÚmatprodÚinprodÚnormÚprimasumÚ	primapow2)ÚfmsgÚretmsgÚrhomsg)Úredrat)Úredrho)ÚsavefiltÚselectxé   )Ú
updatepoleÚfindpoleÚ	updatexfc)Ú
setdrop_trÚgeostep)ÚtrstlpÚtrrad)ÚinitxfcÚinitfiltc                 óô  — g }g }g }g }d}t          j        t          j        |¦  «        t          j        |¦  «        f¦  «        }t          j        t          j        |¦  «        dz   ¦  «        }t          }|�t          j        |¦  «        nd}t          j        |¦  «        }||z
  }t          j        |¦  «        }t          rút          |¦  «        dk    sJ ‚||k    r|dk    sJ ‚|dk    sJ ‚||dz   k    sJ ‚||k    r|dk    sJ ‚t          t          j        |¦  «        ¦  «        sJ ‚d|cxk    r|	cxk    rdk     sn J ‚d|cxk     rdcxk     r|k     sn J ‚d|k    sJ ‚d|k    sJ ‚d|cxk    r|k    sn J ‚|�t          j        |¦  «        ||fk    sJ ‚t          t          |¦  «        |cxk    r|k    sn J ‚t          | ||||||||
|||||||¦  «        \  } }!}"}#}$}%}&}'t          j        t          j        t          j        |d¦  «        |¦  «        ¦  «        }(t          j        t          j        |¦  «        t          j        |(¦  «        f¦  «        })t          j        t          j        |(¦  «        ¦  «        }*t          j        t          j        |¦  «        t          j        |(¦  «        f¦  «        }+t          |!|||"|%|#| |(|)|*|+¦  «        },|'t          k    râ|'}-t!          |*d|,…         |(d|,…         ||¦  «        }.|+dd…|.f         }|*|.         }|)dd…|.f         }|(|.         }/t#          ||-||&|||/|¦  «         t          rm|&|k    sJ ‚t          j        |¦  «        |k    r!t%          t          j        |¦  «        ¦  «        rJ ‚t          j        |¦  «        st          j        |¦  «        rJ ‚||||/|&|||||-f
S |}0|}1t          j        |t          j        dt+          |!|%¦  «        ¦  «        ¦  «        }2d}3d	}4d}5t          j        dt          j        d
|z  d¦  «        ¦  «        }6d|z  }7t,          }-t/          |7¦  «        D �]è}8t1          |||!|2|"|1|%|0|#|$¦
  «
        }2t3          |2|!|"|%|#|$¦  «        \  }!}"}%}#}$}'|'t4          k    r|'}- �n¤t          t7          t9          |#dd…d|…f         ¦  «        d¬¦  «        dt9          |1¦  «        z  k    ¦  «        }9t;          |%d|…         |%|         z
  |$¦  «        }:|�|j        n||dd…d|…f<   t;          |!|d…d|…f         t          j        |!|d…|f         |df¦  «        j        z
  |$¦  «        j        |dd…|d…f<   tA          ||!dd…|f          |1|:¦  «        };t          |1tC          |;¦  «        ¦  «        }<|<d|0z  k    }3tE          |;|:¦  «         }=|"|         t          j#        t          j$        d|!dd…|f         t;          |;|¦  «        z   ¦  «        ¦  «        z
  }>|=|2|>z  z   }?|?dt          |2d¦  «        z  |0z  k     }@|3s|@r|1dz  }1|1|6|0z  k    r|0}1�n;|#dd…|f         |;z   }t7          t9          ||#dd…|f         z
  ¦  «        ¦  «        ||<   t7          t9          | %                    |d¦  «        |#dd…|f          %                    |d¦  «        |#dd…d|…f         z   z
  ¦  «        d¬¦  «        |d|…<   t          j&        |¦  «        }A||A         t9          d|z  ¦  «        k    r|%|A         }|!dd…|Af         }|"|A         }/nxtO          | ||||¦  «        \  }}t          j#        t          j$        d|¦  «        ¦  «        }/|&dz  }&tQ          ||||||/|||¦	  «	         tS          |/|||||,|(|*|+||)¦  «        \  },}(}*}+})tU          |d||&|1|||/|¦	  «	         |%|         |2|"|         z  z   ||2|/z  z   z
  }BtW          |B|?|¦  «        }4tY          |1|<||	|||4¦  «        }1|1|6|0z  k    r|0}1|Bdk    }Ct[          |C|;|1|0|#|$¦  «        }5t]          |5||2|/|;||!|"|%|#|$¦  «        \  }#}$}%}!}"}'|'t4          k    r|'}- �nåt_          ||&|/|||
|¦  «        }'|'t          k    r|'}- �nÀ|3p|@p	|4dk    p|5du }D|Do|9 }E|Do|9otG          |1|<¦  «        |0k    }F|E�ryt          t7          t9          |#dd…d|…f         ¦  «        d¬¦  «        dt9          |1¦  «        z  k    ¦  «        �s-t          j0        t7          t9          |#dd…d|…f         ¦  «        d¬¦  «        d¬¦  «        }G|1dz  }Htc          |G|||!|2|"|H|%|$¦	  «	        };|#dd…|f         |;z   }t7          t9          ||#dd…|f         z
  ¦  «        ¦  «        ||<   t7          t9          | %                    |d¦  «        |#dd…|f          %                    |d¦  «        |#dd…d|…f         z   z
  ¦  «        d¬¦  «        |d|…<   t          j&        |¦  «        }A||A         t9          d|z  ¦  «        k    r|%|A         }|!dd…|Af         }|"|A         }/nxtO          | ||||¦  «        \  }}t          j#        t          j$        d|¦  «        ¦  «        }/|&dz  }&tQ          ||||||/|||¦	  «	         tS          |/|||||,|(|*|+||)¦  «        \  },}(}*}+})tU          |d||&|1|||/|¦	  «	         t]          |G||2|/|;||!|"|%|#|$¦  «        \  }#}$}%}!}"}'|'t4          k    r|'}- �n>t_          ||&|/|||
|¦  «        }'|'t          k    r|'}- �n|FrØ|0|k    r
td          }- �ntG          d|0z  tg          |0|¦  «        ¦  «        }1tg          |0|¦  «        }0t          j        |t          j        |2t+          |!|%¦  «        ¦  «        ¦  «        }2ti          |||&|%|         |0|#dd…|f         |"|         |!dd…|f         |2¦	  «	         t3          |2|!|"|%|#|$¦  «        \  }!}"}%}#}$}'|'t4          k    r|'}- n?|r; ||#dd…|f         |%|         |&|8|"|         |!dd…|f         ¦  «        }I|Ir	tj          }- n�Œê|#dd…|f         |;z   }|-td          k    rº|3r¸tC          ||#dd…|f         z
  ¦  «        d|z  k    r•|&|k     r�tO          | ||||¦  «        \  }}t          j#        t          j$        d|¦  «        ¦  «        }/|&dz  }&tQ          ||||||/|||¦	  «	         tS          |/|||||,|(|*|+||)¦  «        \  },}(}*}+})tU          |d||&|0|||/|¦	  «	         t!          |*d|,…         |(d|,…         tG          |2|¦  «        |¦  «        }.|+dd…|.f         }|*|.         }|)dd…|.f         }|(|.         }/t#          ||-||&|||/|¦  «         ||||/|&|||||-f
S )zE
    This subroutine performs the actual computations of COBYLA.
    ÚCOBYLAr   Nr   é   r   g     @�@Féÿÿÿÿg      è?g      ø?é
   ©Úaxisé   gš™™™™™¹?g�íµ ÷Æ°>g-Cëâ6?zTrust regionÚGeometryç      à?gü©ñÒMbP?)6ÚnpÚzerosÚsizer   r   ÚabsÚallÚisfiniteÚshapeÚminr   r%   ÚminimumÚmaximumr&   r	   r   r   ÚanyÚisnanÚisposinfÚfcratior
   ÚrangeÚgetcpenr   r   r   r   r   ÚTÚtiler#   r   r   ÚmaxÚappendÚreshapeÚargminr   r   r   r   r   r$   r!   r    r   Úargmaxr"   r   r   r   r   )JÚcalcfcÚiprintÚmaxfiltÚmaxfunÚamatÚbvecÚctolÚcweightÚeta1Úeta2ÚftargetÚgamma1Úgamma2ÚrhobegÚrhoendÚconstrÚfÚxÚmaxhistÚcallbackÚxhistÚfhistÚchistÚconhistÚsolverÚAÚdistsqÚcpenminÚm_lconÚnum_constraintsÚm_nlconÚnum_varsÚ	evaluatedÚconmatÚcvalÚsimÚsimiÚfvalÚnfÚsubinfoÚcfiltÚconfiltÚffiltÚxfiltÚnfiltÚinfoÚkoptÚcstrvÚrhoÚdeltaÚcpenÚshortdÚratioÚjdrop_trÚgamma3ÚmaxtrÚtrÚadequate_geoÚgÚdÚdnormÚprerefÚprerecÚpreremÚtrfailÚjÚactremÚ	ximprovedÚ
bad_trstepÚimprove_geoÚ
reduce_rhoÚ	jdrop_geoÚdelbarÚ	terminatesJ                                                                             ú^/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/scipy/_lib/pyprima/cobyla/cobylb.pyÚcobylbr“      s0  € ð €EØ€EØ€EØ€Gð €FÝ
Œ•"”'˜!‘*”*�bœg f™oœoÐ.Ñ/Ô/€AÝŒX•b”g˜a‘j”j 1‘nÑ%Ô%€Fõ €Gð #Ð.�RŒW�T‰]Œ]ˆ]°A€FÝ”g˜f‘o”o€OØ Ñ&€GÝŒw�q‰zŒz€Hõ ð =Ý�6‰{Œ{˜aÒÐÐÐØ &Ò(Ð(¨V°qª[¨[¨[Ð8Ø˜1Š}ˆ}ˆ}ˆ}Ø˜ A™Ò%Ð%Ð%Ð%Ø˜ÒÐ F¨Q¢J J JÐ.Ý•2”;˜q‘>”>Ñ"Ô"Ð"Ð"Ð"Ø�DÐ$Ð$Ò$Ð$˜DÐ$Ð$Ò$Ð$ 1Ò$Ð$Ð$Ð$Ð$Ð$Ø�6Ð&Ð&Ò&Ð&˜AÐ&Ð&Ò&Ð& Ò&Ð&Ð&Ð&Ð&Ð&Ø�DŠyˆyˆyˆyØ�GŠ|ˆ|ˆ|ˆ|Ø�GÐ%Ð%Ò%Ð%˜vÒ%Ð%Ð%Ð%Ð%Ð%Øˆ|�rœx¨™~œ~°&¸(Ð1CÒCÐCÐCÐCÝ•; Ñ'Ô'¨7Ð<Ð<Ò<Ð<°fÒ<Ð<Ð<Ð<Ð<Ð<õ =DÀFÈFØˆf�d˜D $¨¨7°F¸AØˆU�E˜7 Gñ=-ô =-Ñ9€Iˆv�t˜S $¨¨b°'õ ŒH•R”Z¥¤
¨7°AÑ 6Ô 6¸Ñ?Ô?Ñ@Ô@€EÝŒh�œ ™œ­¬°©¬Ð8Ñ9Ô9€GÝŒH•R”W˜U‘^”^Ñ$Ô$€EÝŒH•b”g˜a‘j”j¥"¤'¨%¡.¤.Ð1Ñ2Ô2€EÝ�V˜T 7¨D°$¸¸YÈÈwØ˜Eñ#ô #€Eð •,ÒÐØˆõ �u˜V˜e˜V”} e¨F¨U¨F¤m°W¸dÑCÔCˆØ�!�!�!�T�'ŒNˆØ�$ŒKˆØ˜˜˜˜D˜Ô!ˆØ�d”ˆåˆv�t˜V R¨¨A¨u°fÑ=Ô=Ð=åð 	7Ø˜’<�<�<�<Ý”7˜1‘:”: Ò)Ð)µ#µb´h¸q±k´kÑ2BÔ2BÐ)Ð)ÐBÝœ ™œÐ6¥r¤{°1¡~¤~Ð6Ð6Ð6ð �!�V˜U B¨¨u°e¸WÀdÐJÐJð €CØ€EÝŒ:�g�rœz¨%µ¸ÀÑ1FÔ1FÑGÔGÑHÔH€DØ€FØ€EØ€Hõ ŒZ˜�2œ: d¨V¡m°SÑ9Ô9Ñ:Ô:€Fð �‰K€EÝ€Dõ �E‰lŒlð \ñ \ˆõ �t˜T 6¨4°°u¸dÀCÈÈdÑSÔSˆõ 2<¸DÀ&È$ÐPTØ<?Àñ2Gô 2GÑ.ˆ��d˜C  wð Õ'Ò'Ð'ØˆDØ‰Eõ �8¥I¨c°!°!°!°Y°h°Y°,Ô.?Ñ$@Ô$@ÀqÐIÑIÔIÈQÕQZÐ[`ÑQaÔQaÑMaÒaÑbÔbˆõ �T˜)˜8˜)”_ t¨H¤~Ñ5¸Ñ=Ô=ˆØ"&Ð"2˜œ˜¸ˆˆ!ˆ!ˆ!ˆWˆfˆWˆ*‰Ý ¨¨¨°°(°Ð(:Ô!;Ýœ' &¨¨¨°(Ð):Ô";¸hÈ¸]ÑKÔKÔMñ"NØPTñVô VÜVWð 	
ˆ!ˆ!ˆ!ˆVˆWˆWˆ*‰õ �1�v˜a˜a˜a ˜kÔ*Ð*¨E°1Ñ5Ô5ˆÝ�E�4 ™7œ7Ñ#Ô#ˆð ˜3 ™9Ò$ˆõ ˜˜A‘,”,�ˆØ�h”¥"¤&­¬°1°f¸Q¸Q¸QÀ¸[Ô6IÍGÐTUÐWXÉMÌMÑ6YÑ)ZÔ)ZÑ"[Ô"[Ñ[ˆð
 ˜$ ™-Ñ'ˆØ˜v­¨D°!©¬Ñ4°sÑ:Ò:Ð;ˆàð b	�Vð b	ð �S‰LˆEØ˜ ™Ò$Ð$Ø�ùð �A�A�A�x�KÔ  1Ñ$ˆAÝ'­	°!°c¸!¸!¸!¸X¸+Ô6FÑ2FÑ(GÔ(GÑHÔHˆF�8ÑÝ (­°1·9²9¸XÀqÑ3IÔ3IØ�Q�Q�Q˜�[Ô!×)Ò)¨(°AÑ6Ô6¸¸Q¸Q¸QÀ	ÀÀ	¸\Ô9JÑJñ4Lñ *Mô *MØSTð!Vñ !Vô !VˆF�9�H�9Ñå”	˜&Ñ!Ô!ˆAØ�aŒy�I d¨V¡mÑ4Ô4Ò4Ð4Ø˜”G�Ø    1 œ�Ø˜Qœ��õ % V¨Q°¸¸tÑDÔD‘	��6Ýœ�rœy¨¨FÑ3Ô3Ñ4Ô4�Ø�a‘�å˜ ! U¨A¨u°e¸UÀFÈGÑTÔTÐTå6>¸uÀdÈGÐUVØ?@À%ÈÐPUØ?DÀfÈgñ7Wô 7WÑ3��u˜e U¨Gõ �˜¨°°U¸A¸qÀ%ÈÑPÔPÐPð ˜8”n t¨d°8¬nÑ'<Ñ<ÀÀTÈEÁ\ÑAQÑRˆFõ ˜6 6¨4Ñ0Ô0ˆEõ< ˜% ¨¨d°F¸FÀEÑJÔJˆEØ˜˜s™
Ò"Ð"Ø�ð  š
ˆIõ
 " )¨Q°°s¸CÀÑFÔFˆHõ 6?¸xÈÐQUÐW\Ð^_ÐabÐdjÐlpÐrvÐx{ð  ~Bñ  6Cô  6CÑ2ˆC��t˜V T¨7àÕ+Ò+Ð+Ø�Ø‘õ % V¨R°¸¸aÀÈ!ÑLÔLˆGØ�,Ò&Ð&Ø�Ø‘ð ÐG˜vÐG¨°!ªÐG°xÀ4Ð7Gˆ
à Ð5¨Ð%5ˆàÐM LÐMµS¸ÀÑ5FÔ5FÈ#Ò5Mˆ
ðl ñ N	�s¥8­I°c¸!¸!¸!¸Y¸h¸Y¸,Ô6GÑ,HÔ,HÈqÐ#QÑ#QÔ#QÐUVÕYbÐchÑYiÔYiÑUiÒ#iÑjÔjñ N	õ: œ	¥(­9°S¸¸¸¸I¸X¸I¸Ô5FÑ+GÔ+GÈaÐ"PÑ"PÔ"PÐWXÐYÑYÔYˆIð ˜1‘WˆFÝ˜	 4¨¨v°t¸TÀ6È4ÐQUÑVÔVˆAð �A�A�A�x�KÔ  1Ñ$ˆAÝ'­	°!°c¸!¸!¸!¸X¸+Ô6FÑ2FÑ(GÔ(GÑHÔHˆF�8ÑÝ (­°1·9²9¸XÀqÑ3IÔ3IØ�Q�Q�Q˜�[Ô!×)Ò)¨(°AÑ6Ô6¸¸Q¸Q¸QÀ	ÀÀ	¸\Ô9JÑJñ4Lñ *Mô *MØSTð!Vñ !Vô !VˆF�9�H�9Ñå”	˜&Ñ!Ô!ˆAØ�aŒy�I d¨V¡mÑ4Ô4Ò4Ð4Ø˜”G�Ø    1 œ�Ø˜Qœ��õ % V¨Q°¸¸tÑDÔD‘	��6Ýœ�rœy¨¨FÑ3Ô3Ñ4Ô4�Ø�a‘�å˜ ! U¨A¨u°e¸UÀFÈGÑTÔTÐTå6>¸uÀdÈGÐUVØ?@À%ÈÐPUØ?DÀfÈgñ7Wô 7WÑ3��u˜e U¨Gõ
 �˜ V¨R°¸¸1¸eÀVÑLÔLÐLå5>¸yÈ&ÐRVÐX]Ð_`ÐbcÐekÐmqÐswÐy|ð  Cñ  6Dô  6DÑ2ˆC��t˜V T¨7àÕ+Ò+Ð+Ø�Ø‘õ % V¨R°¸¸aÀÈ!ÑLÔLˆGØ�,Ò&Ð&Ø�Ø‘ð
 ð 	Ø�fŠ}ˆ}Ý&�Ø‘Ý˜˜c™	¥6¨#¨vÑ#6Ô#6Ñ7Ô7ˆEÝ˜˜fÑ%Ô%ˆCõ ”:˜g¥r¤z°$½ÀÈÑ8MÔ8MÑ'NÔ'NÑOÔOˆDå�6˜6 2 t¨H¤~°s¸CÀÀÀÀ8ÀÔ<LÈdÐS[ÌnÐ^dÐefÐefÐefÐhpÐepÔ^qÐswÑxÔxÐxÝ5?ÀÀfÈdÐTXÐZ]Ð_cÑ5dÔ5dÑ2ˆF�D˜$  T¨7àÕ+Ò+Ð+Ø�Ø�ð ð 	Ø ˜  Q Q Q¨ [Ô!1°4¸´>À2ÀrÈ4ÐPXÌ>Ð[aÐbcÐbcÐbcÐemÐbmÔ[nÑoÔoˆIØð Ý)�Ø�ùð
 	ˆAˆAˆAˆxˆKÔ˜1Ñ€AØ•ÒÐØð 	 å��S˜˜˜˜H˜Ô%Ñ%Ñ&Ô&¨°&©Ò8Ð8Ø�ŠKˆKõ ˜V Q¨°°tÑ<Ô<‰	ˆˆ6Ý”•r”y  FÑ+Ô+Ñ,Ô,ˆØ
ˆa‰ˆÝ�˜!˜U A u¨e°U¸FÀGÑLÔLÐLÝ.6°u¸dÀGÈQÐPQÐSXÐZ_ÐafÐhmÐouÐw~Ñ.Ô.Ñ+ˆˆu�e˜U GåˆV�^ V¨R°°a¸¸EÀ6ÑJÔJÐJõ �5˜˜%˜”= %¨¨¨¤-µ°T¸7Ñ1CÔ1CÀTÑJÔJ€DØˆaˆaˆa�ˆgŒ€AØˆdŒ€AØ�Q�Q�Q˜�WÔ€FØ�$ŒK€Eõ ˆ6�4˜  Q¨¨5°&Ñ9Ô9Ð9Øˆa�˜  E¨5°%¸À$ÐFÐFó    c
                 óŽ
  — |                      ¦   «         }|                      ¦   «         }|                      ¦   «         }|                      ¦   «         }|	                      ¦   «         }	t          j        t          j        |d¦  «        t          j        |d¦  «        f¦  «        }
d}|�t          j        |¦  «        nd}t          j        |d¦  «        }t          j        |d¦  «        }t          �rc|dk    sJ ‚|dk    sJ ‚|dk    sJ ‚t          j        |d¦  «        |k    rt          j        |d¦  «        |dz   k    sJ ‚t          j        |¦  «        t          j        |¦  «        z                       ¦   «         rJ ‚t          j        |¦  «        |dz   k    r=t          |dt          j        |¦  «        z  t          j        |¦  «        z  k     ¦  «        rJ ‚t          j        |¦  «        |dz   k    r6t          t          j        |¦  «        t          j        |¦  «        z  ¦  «        rJ ‚t          j        |d¦  «        |k    rt          j        |d¦  «        |dz   k    sJ ‚t          j	        |¦  «         
                    ¦   «         sJ ‚t          t          j        t          |dd…d|…f         ¦  «        d¬¦  «        dk    ¦  «        sJ ‚t          j        |	d¦  «        |k    rt          j        |	d¦  «        |k    sJ ‚t          j	        |	¦  «         
                    ¦   «         sJ ‚t          |dd…d|…f         |	|¦  «        sJ ‚||k    r|dk    sJ ‚t          }t          |dz   ¦  «        D �]y}t!          ||||||	¦  «        \  }}}}}	}|t"          k    r �nOt%          |d|…         ||         z
  |	¦  «        }| �| j        n| |
dd…d|…f<   t%          ||d…d|…f         t          j        ||d…|f         |df¦  «        j        z
  |	¦  «        j        |
dd…|d…f<   t+          |
|dd…|f          ||¦  «        }t-          ||¦  «         }||         t          j        t          j        d|dd…|f         t%          ||
¦  «        z   ¦  «        ¦  «        z
  }|dk    r|dk     s nBt          |t1          d|z  |z  t2          ¦  «        ¦  «        }t5          |||¦  «        |k    r n�Œ{t          rZ||k    r|dk    sJ ‚|||z  z   dk    s@|t"          k    s5|dk    r/t          j        ||¦  «        dk    rt          j	        |¦  «        rJ ‚|S )z¥
    This function gets the penalty parameter CPEN so that PREREM = PREREF + CPEN * PREREC > 0.
    See the discussions around equation (9) of the COBYLA paper.
    r   r   Nr,   éþÿÿÿ)Úcopyr1   r2   r3   r   r<   Úisneginfr;   r=   r6   r5   rC   r4   r   r	   r?   r   r   r   rA   rB   r#   r   rD   r8   r   r   r:   )rL   rM   ri   rz   rj   ry   rm   rx   rk   rl   ra   Úitolrd   re   rg   ru   Úiterr‚   rƒ   r…   r†   s                        r’   r@   r@   2  sf  € ð �[Š[‰]Œ]€FØ�9Š9‰;Œ;€DØ�9Š9‰;Œ;€DØ
�(Š(‰*Œ*€CØ�9Š9‰;Œ;€Dõ 	Œ•"”'˜#˜q‘/”/¥2¤7¨6°1Ñ#5Ô#5Ð6Ñ7Ô7€AØ€Dð #Ð.�RŒW�T‰]Œ]ˆ]°A€FÝ”g˜f aÑ(Ô(€OÝŒw�s˜A‰Œ€Hõ ñ (Ø !Ò#Ð#Ð#Ð#Ø˜1Š}ˆ}ˆ}ˆ}Ø�aŠxˆxˆxˆxÝŒw�v˜qÑ!Ô! _Ò4Ð4½¼ÀÈÑ9KÔ9KÈxÐZ[É|Ò9[Ð9[Ð9[Ð[Ý”H˜VÑ$Ô$¥r¤{°6Ñ':Ô':Ñ:×?Ò?ÑAÔAÐAÐAÐAÝŒw�t‰}Œ} ¨1¡Ò,Ð,Ý�D˜1�rœx¨™~œ~Ñ-µ´¸DÑ0AÔ0AÑAÒAÑBÔBð -Ð,ð CåŒw�t‰}Œ} ¨1¡Ò,Ð,µS½¼À$¹¼Í"Ì+ÐVZÑJ[ÔJ[Ñ9[Ñ5\Ô5\Ð,Ð,Ð\ÝŒw�s˜A‰Œ (Ò*Ð*­r¬w°s¸A©¬À(ÈQÁ,Ò/NÐ/NÐ/NÐNÝŒ{˜3ÑÔ×#Ò#Ñ%Ô%Ð%Ð%Ð%Ý•2”6�#˜c ! ! ! Y h Y ,Ô/Ñ0Ô0°qÐ9Ñ9Ô9¸AÒ=Ñ>Ô>Ð>Ð>Ð>ÝŒw�t˜QÑÔ 8Ò+Ð+µ´¸¸aÑ0@Ô0@ÀHÒ0LÐ0LÐ0LÐLÝŒ{˜4Ñ Ô ×$Ò$Ñ&Ô&Ð&Ð&Ð&Ý�S˜˜˜˜I˜X˜I˜Ô&¨¨dÑ3Ô3Ð3Ð3Ð3Ø˜Š|ˆ|  a¢  Ð'õ €Dõ" �h ‘lÑ#Ô#ð #ñ #ˆå.8¸¸vÀtÈTÐSVØ9=ñ/?ô /?Ñ+ˆ��d˜C  tð Õ$Ò$Ð$Ø‰Eõ �D˜˜(˜”O d¨8¤nÑ4°dÑ;Ô;ˆØ"&Ð"2˜œ˜¸ˆˆ!ˆ!ˆ!ˆWˆfˆWˆ*‰Ý ¨¨¨°°(°Ð(:Ô!;Ýœ' &¨¨¨°(Ð):Ô";¸hÈ¸]ÑKÔKÔMñ"NØPTñVô VÜVWð 	
ˆ!ˆ!ˆ!ˆVˆWˆWˆ*‰õ �1�v˜a˜a˜a ˜kÔ*Ð*¨E°1Ñ5Ô5ˆõ ˜˜A‘,”,�ˆØ�h”¥"¤&­¬°1°f¸Q¸Q¸QÀ¸[Ô6IÍGÐTUÐWXÉMÌMÑ6YÑ)ZÔ)ZÑ"[Ô"[Ñ[ˆð ˜’
�
˜v¨šz˜zØˆEõ �4�˜R &™[¨6Ñ1µ7Ñ;Ô;Ñ<Ô<ˆå�D˜$ Ñ%Ô%¨Ò1Ð1ØˆEñ 2õ ð \Ø�tŠ|ˆ|  q¢  Ð(Ø˜˜v™Ñ%¨Ò)Ð)¨TÕ5FÒ-FÐ-FØ˜1’�¥¤¨F°FÑ!;Ô!;¸aÒ!?Ð!?ÍÌÐTZÑH[ÔH[Ð!?Ð!?ð\ð €Kr”   c                 ó"  — t           rGt          j        |¦  «        dk    sJ ‚t          j        | d¦  «        t          j        |¦  «        k    sJ ‚t          j        |  d¬¦  «        }t          j        |  d¬¦  «        }t          |¦  «        }t	          |¦  «        }t          |d|z  k     ¦  «        rM||k     rGt          j        t          j        |d¦  «        |z
  |d|z  k     t          j        ¬¦  «        }||z
  |z  }nd}t           r|dk    sJ ‚|S )zÀ
    This function calculates the ratio between the "typical change" of F and that of CONSTR.
    See equations (12)-(13) in Section 3 of the COBYLA paper for the definition of the ratio.
    r   r,   r0   r   )ÚwhereÚinitial)r   r1   r3   r8   rC   r;   r:   Úinf)ri   rm   ÚcminÚcmaxÚfminÚfmaxÚdenomÚrs           r’   r>   r>   ¦  s  € õ ð 3ÝŒw�t‰}Œ} Ò!Ð!Ð!Ð!ÝŒw�v˜qÑ!Ô!¥R¤W¨T¡]¤]Ò2Ð2Ð2Ð2õ Œ6�6�' Ð"Ñ"Ô"€DÝŒ6�6�' Ð"Ñ"Ô"€DÝˆt‰9Œ9€DÝˆt‰9Œ9€DÝ
ˆ4�#˜‘*ÒÑÔð  $¨¢+ +Ý”•r”z $¨Ñ*Ô*¨TÑ1¸ÀÀdÁ
Ò9JÕTVÔTZÐ[Ñ[Ô[ˆð �D‰[˜EÑ!ˆˆàˆõ ð Ø�AŠvˆvˆvˆvà€Hr”   )6Ú__doc__Únumpyr1   Úcommon.checkbreakr   Úcommon.constsr   r   r   r   Úcommon.infosr	   r
   r   r   r   Úcommon.evaluater   Úcommon.historyr   Úcommon.linalgr   r   r   r   r   r   Úcommon.messager   r   r   Úcommon.ratior   Úcommon.redrhor   Úcommon.selectxr   r   Úupdater   r   r    Úgeometryr!   r"   Útrustregionr#   r$   Ú
initializer%   r&   r“   r@   r>   © r”   r’   ú<module>r¶      sï  ððð ð Ð Ð Ð Ø .Ð .Ð .Ð .Ð .Ð .Ø @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ð @ð8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8à &Ð &Ð &Ð &Ð &Ð &Ø %Ð %Ð %Ð %Ð %Ð %Ø MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MØ 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø !Ð !Ð !Ð !Ð !Ð !Ø "Ð "Ð "Ð "Ð "Ð "Ø .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø )Ð )Ð )Ð )Ð )Ð )Ð )Ð )Ø &Ð &Ð &Ð &Ð &Ð &Ð &Ð &Ø )Ð )Ð )Ð )Ð )Ð )Ð )Ð )ðQGð QGð QGðjqð qð qðh$ð $ð $ð $ð $r”   