Ë
    âQ(hK  ã                   óJ   — d Z ddlZddlmZmZ ddlmZ ddlm	Z	m
Z
 d„ Zd	d„Zy)
z)Bounded-variable least-squares algorithm.é    N)ÚnormÚlstsq)ÚOptimizeResulté   )Úprint_header_linearÚprint_iteration_linearc                 óv   — | |z  }|dk(  }t        j                  | |   «      ||<   t        j                  |«      S )z0Compute the maximum violation of KKT conditions.r   )ÚnpÚabsÚmax)ÚgÚon_boundÚg_kktÚfree_sets       úV/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/scipy/optimize/_lsq/bvls.pyÚcompute_kkt_optimalityr   	   s8   € à�‰L€EØ˜1‰}€HÜ—f‘f˜Q˜x™[Ó)€Eˆ(�OÜ�6‰6�%‹=Ðó    c	           
      óX	  — | j                   \  }	}
|j                  «       }t        j                  |
«      }||k  }||   ||<   d||<   ||k\  }||   ||<   d||<   |dk(  }| }t        j                  |«      \  }| j                  |«      |z
  }dt        j
                  ||«      z  }|}| j                  j                  |«      }d }d }d}|dk(  r
t        «        |j                  dkD  �rs|dk(  rt        ||«      }t        |||||«       |dz  }||   j                  «       }| d d …|f   }|| j                  ||z  «      z
  }t        |||¬«      d   }|||   k  }|||   kD  }||z  }t        j                  |«      r||   }||   ||<   d||<   d||<   t        j                  |«      r||   }||   ||<   d||<   d||<   ||    }||    ||<   | j                  |«      |z
  }dt        j
                  ||«      z  } || z
  }| }| j                  j                  |«      }t        ||   |z
  «      }t        j                  |«      r||    }nn|j                  dkD  r�Œs|€|
}||z  }d }!t        ||«      }t        ||«      D �]  }|dk(  rt        |||||«       ||k  rd}!|!� �nñt        j                  ||z  «      }"d||"<   	 |dk(  }| }t        j                  |«      \  }||   }#|#j                  «       }||   }$||   }%| d d …|f   }|| j                  ||z  «      z
  }t        |||¬«      d   }t        j                  ||$k  «      \  }t        j                  ||%kD  «      \  }t        j                   ||f«      }|j                  dkD  rŠt        j                   |$|   |#|   z
  |%|   |#|   z
  f«      ||   |#|   z
  z  }&t        j"                  |&«      }'||'   }(|&|'   })|#d|)z
  z  }#|#|)|z  z  }#|#||<   |'|j                  k  r	d|||(   <   nd|||(   <   n|}#|#||<   n�Œ]t        |#|z
  «      }| j                  |«      |z
  }dt        j
                  ||«      z  } || z
  }|||z  k  rd}!| }| j                  j                  |«      }t        ||«      }�Œ |!€d}!t%        ||||||dz   |!|¬«      S )	Néÿÿÿÿr   r   g      à?é   )ÚrcondT)ÚxÚfunÚcostÚ
optimalityÚactive_maskÚnitÚstatusÚinitial_cost)ÚshapeÚcopyr
   ÚzerosÚnonzeroÚdotÚTr   Úsizer   r   r   Úanyr   ÚrangeÚargmaxÚhstackÚargminr   )*ÚAÚbÚx_lsqÚlbÚubÚtolÚmax_iterÚverboser   ÚmÚnr   r   Úmaskr   Ú
active_setÚrr   r   r   Úcost_changeÚ	step_normÚ	iterationr   Ú
x_free_oldÚA_freeÚb_freeÚzÚlbvÚubvÚvÚindÚcost_newÚtermination_statusÚmove_to_freeÚx_freeÚlb_freeÚub_freeÚalphasÚiÚi_freeÚalphas*                                             r   ÚbvlsrN      sY  € Ø�7‰7�D€A€qà�
‰
‹€AÜ�x‰x˜‹{€Hà�‰7€DØ�‰h€A€d�GØ€HˆT�Nà�‰7€DØ�‰h€A€d�GØ€HˆT�Nà˜1‰}€HØ�€JÜ—
‘
˜8Ó$�I€Hà	�‰ˆa‹�1‰€AØ”—‘˜˜1“Ñ€DØ€LØ	�‰�‰�‹
€Aà€KØ€IØ€Ià�!‚|ÜÔð �-‰-˜!Ó
Ø�aŠ<Ü/°°8Ó<ˆJÜ" 9¨d°KÀØ#-ô/ð 	�Q‰ˆ	Ø�x‘[×%Ñ%Ó'ˆ
à’1�h�;‘ˆØ�Q—U‘U˜1˜z™>Ó*Ñ*ˆÜ�&˜&¨Ô.¨qÑ1ˆà�"�X‘,ÑˆØ�"�X‘,ÑˆØ�#‰Iˆä�6‰6�#Œ;Ø˜3‘-ˆCØ˜‘WˆAˆc‰FØ"ˆJ�s‰OØˆH�S‰Mä�6‰6�#Œ;Ø˜3‘-ˆCØ˜‘WˆAˆc‰FØ"ˆJ�s‰OØˆH�S‰Mà˜�r‰lˆØ�A�2‘ˆˆ#‰à�E‰E�!‹H�q‰LˆØœŸ™  1›Ñ%ˆØ˜X‘oˆØˆØ�C‰C�G‰G�A‹JˆÜ˜˜8™ zÑ1Ó2ˆ	ä�6‰6�!Œ9Ø  ‘|‰HàðU �-‰-˜!Ô
ðX ÐØˆØ�	Ñ€HàÐô (¨¨8Ó4€JÜ˜9 hÓ/ó B9ˆ	Ø�aŠ<Ü" 9¨d°KØ#,¨jô:ð ˜ÒØ!"ÐàÐ)Úä—y‘y  X¡Ó.ˆØ!"ˆ�Ñàà 1‘}ˆHØ"˜ˆJÜŸ
™
 8Ó,‰IˆHà�x‘[ˆFØŸ™›ˆJØ˜‘lˆGØ˜‘lˆGà’q˜(�{‘^ˆFØ˜Ÿ™˜q :™~Ó.Ñ.ˆFÜ�f˜f¨EÔ2°1Ñ5ˆAä—:‘:˜a '™kÓ*‰DˆCÜ—:‘:˜a '™kÓ*‰DˆCÜ—	‘	˜3 ˜*Ó%ˆAà�v‰v˜ŠzÜŸ™Ø˜C‘L 6¨#¡;Ñ.Ø˜C‘L 6¨#¡;Ñ.ð$0ó 1à45°a±D¸6À!¹9Ñ4DñF�ô —I‘I˜fÓ%�Ø˜1™�Ø˜q™	�à˜!˜e™)Ñ#�Ø˜% !™)Ñ#�Ø$��(‘à�s—x‘x’<Ø13�H˜X fÑ-Ò.à12�H˜X fÑ-Ò.à�Ø$��(‘ØñO ôR ˜ *Ñ,Ó-ˆ	à�E‰E�!‹H�q‰LˆØœŸ™  1›Ñ%ˆØ˜X‘oˆà˜˜t™Ò#Ø!"ÐØˆà�C‰C�G‰G�A‹JˆÜ+¨A¨xÓ8Š
ðEB9ðH Ð!ØÐäØ
�˜¨*À(Ø˜‰MÐ"4Ø!ô#ð #r   )N)Ú__doc__Únumpyr
   Únumpy.linalgr   r   Úscipy.optimizer   Úcommonr   r   r   rN   © r   r   ú<module>rU      s   ðÙ /Û ß $Ý )ç ?òôf#r   