L iKJdZddlZddlmZmZddlmZddlm Z m Z dZ d dZ y) z)Bounded-variable least-squares algorithm.N)normlstsq)OptimizeResult)print_header_linearprint_iteration_linearcv||z}|dk(}tj||||<tj|S)z0Compute the maximum violation of KKT conditions.r)npabsmax)gon_boundg_kktfree_sets ^/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/scipy/optimize/_lsq/bvls.pycompute_kkt_optimalityr s8 LE1}HffQx[)E(O 66%=c X |j\} } |j} tj| } | |k} || | | <d| | <| |k\} || | | <d| | <| dk(}|}tj|\}|j | |z }dtj ||z}|}|j j |}d}d}d}|dk(r t|jdkDrs|dk(rt|| }t||||||dz }| |j}|dd|f}||j | |zz }t|||d}|||k}|||kD}||z}tj|r||}||| |<d||<d| |<tj|r||}||| |<d||<d| |<||}||| |<|j | |z }dtj ||z} || z }| }|j j |}t| ||z }tj|r||}nn|jdkDrs|| }||z }d}!t|| }t||D]}|dk(rt|||||||krd}!|!ntj|| z}"d| |"< | dk(}|}tj|\}| |}#|#j}||}$||}%|dd|f}||j | |zz }t|||d}tj||$k\}tj||%kD\}tj ||f}|jdkDrtj |$||#|z |%||#|z f|||#|z z }&tj"|&}'||'}(|&|'})|#d|)z z}#|#|)|zz }#|#| |<|'|jkr d| ||(<nd| ||(<n|}#|#| |<n]t|#|z }|j | |z }dtj ||z} || z }|||zkrd}!| }|j j |}t|| }|!d}!t%| |||| |dz|!|S) Nrrg?)rcondT)xfuncost optimality active_masknitstatus initial_cost)shapecopyr zerosnonzerodotTrsizerrranyrrangeargmaxhstackargminr)*Abx_lsqlbubtolmax_iterverbosermnrrmaskr active_setrrrr cost_change step_norm iterationr x_free_oldA_freeb_freezlbvubvvindcost_newtermination_status move_to_freex_freelb_freeub_freealphasii_freealphas* rbvlsrNsY 77DAq Axx{H 7DhAdGHTN 7DhAdGHTN1}HJ 8$IH a1 A 1 DL  AKII!| --!  a</8** && .q 1"X,"X, #I 66#;3-CWAcF"JsOHSM 66#;3-CWAcF"JsOHSMrlA2# EE!HqL1%Xo  CCGGAJ8z12 66!9|H U --! X H(84J9h/B9 a< "9dK#,j :  !"   ) yyX. !"1}H"J 8,IHx[FJlGlGq({^Fq:~..FffE215A::a'k*DC::a'k*DC 3*%AvvzCL6#;.CL6#;.$0145aD6!94DFIIf%1q !e)#%!)#$( sxx<13HXf-.12HXf-.$( OR*,- EE!HqL1%Xo t #!"  CCGGAJ+Ax8 EB9H!  *( M"4! ##r)N) __doc__numpyr numpy.linalgrrscipy.optimizercommonrrrrNrrrUs/$)?f#r