
    ^MhK                     L    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dS )
z)Bounded-variable least-squares algorithm.    N)normlstsq)OptimizeResult   )print_header_linearprint_iteration_linearc                 z    | |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       X/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/scipy/optimize/_lsq/bvls.pycompute_kkt_optimalityr   	   s9    LE1}HfQx[))E(O6%==    c	           
      r
   | j         \  }	}
|                                }t          j        |
          }||k    }||         ||<   d||<   ||k    }||         ||<   d||<   |dk    }| }t          j        |          \  }|                     |          |z
  }dt          j        ||          z  }|}| j                            |          }d }d }d}|dk    rt                       |j        dk    r|dk    r#t          ||          }t          |||||           |dz  }||                                         }| d d |f         }||                     ||z            z
  }t          |||          d         }|||         k     }|||         k    }||z  }t          j        |          r||         }||         ||<   d||<   d||<   t          j        |          r||         }||         ||<   d||<   d||<   ||          }||          ||<   |                     |          |z
  }dt          j        ||          z  } || z
  }| }| j                            |          }t          ||         |z
            }t          j        |          r
||          }nn|j        dk    ||
}||z  }d }!t          ||          }t          ||          D ]O}|dk    rt          |||||           ||k     rd}!|! n(t          j        ||z            }"d||"<   	 |dk    }| }t          j        |          \  }||         }#|#                                }||         }$||         }%| d d |f         }||                     ||z            z
  }t          |||          d         }t          j        ||$k               \  }t          j        ||%k              \  }t          j        ||f          }|j        dk    rt          j        |$|         |#|         z
  |%|         |#|         z
  f          ||         |#|         z
  z  }&t          j        |&          }'||'         }(|&|'         })|#d|)z
  z  }#|#|)|z  z  }#|#||<   |'|j        k     rd|||(         <   nd|||(         <   n|}#|#||<   nt          |#|z
            }|                     |          |z
  }dt          j        ||          z  } || z
  }|||z  k     rd}!| }| j                            |          }t          ||          }Q|!d}!t%          ||||||dz   |!|          S )	Nr   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      s   7DAq

Ax{{H7DhAdGHTN7DhAdGHTN1}HJ
8$$IH	a1A1DL	

AKII!|| -!

a<</8<<J"9dK#-/ / / 	Q	x[%%''
111h;QUU1z>***&&...q1"X,"X,#I6#;; 	3-CWAcF"JsOHSM6#;; 	3-CWAcF"JsOHSMrlA2#EE!HHqL1%XoCGGAJJ8z122	6!99 	|HHU -!

X 	H (844J9h// B9 B9	a<<"9dK#,j: : : !")EyX..!"'	1}H"J
8,,IHx[FJlGlGqqq({^Fq:~...FffE22215A:a'k**DC:a'k**DC	3*%%AvzzCL6#;.CL6#;.$0 1 145aD6!94DF If%%1q	!e)#%!)#$(sx<<13HXf-..12HXf-..$(O'	R *,--	EE!HHqL1%Xot##!"CGGAJJ+Ax88

!
*(M"4!# # # #r   )N)__doc__numpyr
   numpy.linalgr   r   scipy.optimizer   commonr   r   r   rN    r   r   <module>rU      s    / /     $ $ $ $ $ $ $ $ ) ) ) ) ) ) ? ? ? ? ? ? ? ?  f# f# f# f# f# f#r   