B u `@s@ddlZddlmZddlmZGdddZGdddZdS)N)norm)packXYZc@s&eZdZddZdddZddZdS) IterLogcCsd||_||_||_||_||_d|_d|_d|_d|_d|_ d|_ dgd\|_ |_ |_ |_|_dS)NF) iterationxkykzk print_varsthetakobjkchik trustRadius sampleRadiusstepNormfStep thetaSteprejected restoration criticality)selfrrrr r rD/tmp/pip-unpacked-wheel-n62dbgi3/pyomo/contrib/trustregion/Logger.py__init__szIterLog.__init__NcCsX|dk r||_|dk r||_|dk r*||_|dk r8||_|dk rF||_|dk rT||_dS)N)r r r rrr)rr r r rrrrrrsetRelatedValue(szIterLog.setRelatedValuecCstdtd|j|jr2tt|j|j|jtd|jtd|jtd|j td|j td|j td|j |j rtd |jrtd |jrtd |jrtd |jrtd tddS)zJ TODO: set a PrintLevel param to control the print level. z' **************************************z Iteration %d:z thetak = %sz objk = %sztrustRadius = %szsampleRadius = %sz stepNorm = %szchi = %sz f-type stepztheta-type stepz step rejectedZ RESTORATIONzcriticality test updatez'************************************** N)printrr rrrr r r rrrr rrrrr)rrrrfprint7s*zIterLog.fprint)NNNNNN)__name__ __module__ __qualname__rrrrrrrrs  rc@s2eZdZgZddZd ddZddZdd ZdS) Loggerc Cs6t||||||_|jj|||d|j|jdS)N)r r r )riterlogritersappend) rrrrr r r r r rrrnewIterTszLogger.newIterNcCs|jj|||ddS)N)rrr)r!r)rrrrrrr setCurIterXszLogger.setCurItercCs |t|jkr|j|dS)N)lenr"r)rrrrrprintIterationZszLogger.printIterationcCsx|jD]}tt|j|jj|j|jj|j|jjtj}t t |j dt |j dt |j dt |jdt |jdt |jdt |jdt |qWdS)N )r"rrrr!rr npinfrstrrr r r rrr)rxdisrrr printVectors]s 2zLogger.printVectors)NNN)rrrr"r$r%r'r.rrrrr Rs  r )Znumpyr)Z numpy.linalgrZ pyomo.contrib.trustregion.helperrrr rrrr s  C