class_docstr: Powell Direction Search optimization,
  adapted from scipy.optimize.fmin_powell.
      
class_docstr_tok: ["Powell","Direction","Search","optimization",",","adapted","from","scipy.optimize.fmin_powell","."]
docstr: process and activate input settings
  
  Args:
      callback (func, default=None): function to call after each iteration. The
          interface is ``callback(xk)``, with ``xk`` the current parameter vector.
      disp (bool, default=False): if True, print convergence messages.
      EvaluationMonitor (monitor, default=None): a monitor instance to capture
          each evaluation of cost.
      StepMonitor (monitor, default=None): a monitor instance to capture each
          iteration's best results.
      penalty (penalty, default=None): function of the form: ``y' = penalty(xk)``,
          with ``y = cost(xk) + y'`` and ``xk`` is the current parameter vector.
      constraints (constraint, default=None): function of the form:
          ``xk' = constraints(xk)``, where ``xk`` is the current parameter vector.
      direc (tuple, default=None): the initial direction set.
      xtol (float, default=1e-4): line-search error tolerance.
      imax (float, default=500): line-search maximum iterations.
  
  Notes:
      - ``callback`` and ``disp`` are 'sticky', in that once they are given, they
        remain set until they are explicitly changed. Conversely, the other inputs
        are not sticky, and are thus set for a one-time use.
          
docstr_tok: ["process","and","activate","input","settings","Args",":","callback","(","func",",","default=None",")",":","function","to","call","after","each","iteration",".","The","interface","is","``","callback","(","xk",")","``",",","with","``","xk","``","the","current","parameter","vector",".","disp","(","bool",",","default=False",")",":","if","True",",","print","convergence","messages",".","EvaluationMonitor","(","monitor",",","default=None",")",":","a","monitor","instance","to","capture","each","evaluation","of","cost",".","StepMonitor","(","monitor",",","default=None",")",":","a","monitor","instance","to","capture","each","iteration","'s","best","results",".","penalty","(","penalty",",","default=None",")",":","function","of","the","form",":","``","y","'","=","penalty","(","xk",")","``",",","with","``","y","=","cost","(","xk",")","+","y","'","``","and","``","xk","``","is","the","current","parameter","vector",".","constraints","(","constraint",",","default=None",")",":","function","of","the","form",":","``","xk","'","=","constraints","(","xk",")","``",",","where","``","xk","``","is","the","current","parameter","vector",".","direc","(","tuple",",","default=None",")",":","the","initial","direction","set",".","xtol","(","float",",","default=1e-4",")",":","line-search","error","tolerance",".","imax","(","float",",","default=500",")",":","line-search","maximum","iterations",".","Notes",":","-","``","callback","``","and","``","disp","``","are","'sticky","'",",","in","that","once","they","are","given",",","they","remain","set","until","they","are","explicitly","changed",".","Conversely",",","the","other","inputs","are","not","sticky",",","and","are","thus","set","for","a","one-time","use","."]
code: def _process_inputs(self, kwds):
      """process and activate input settings
  
      Args:
          callback (func, default=None): function to call after each iteration. The
              interface is ``callback(xk)``, with ``xk`` the current parameter vector.
          disp (bool, default=False): if True, print convergence messages.
          EvaluationMonitor (monitor, default=None): a monitor instance to capture
              each evaluation of cost.
          StepMonitor (monitor, default=None): a monitor instance to capture each
              iteration's best results.
          penalty (penalty, default=None): function of the form: ``y' = penalty(xk)``,
              with ``y = cost(xk) + y'`` and ``xk`` is the current parameter vector.
          constraints (constraint, default=None): function of the form:
              ``xk' = constraints(xk)``, where ``xk`` is the current parameter vector.
          direc (tuple, default=None): the initial direction set.
          xtol (float, default=1e-4): line-search error tolerance.
          imax (float, default=500): line-search maximum iterations.
  
      Notes:
          - ``callback`` and ``disp`` are 'sticky', in that once they are given, they
            remain set until they are explicitly changed. Conversely, the other inputs
            are not sticky, and are thus set for a one-time use.
      """
      # allow for inputs that don't conform to AbstractSolver interface
      # NOTE: not sticky: callback, disp
      # NOTE: sticky: EvaluationMonitor, StepMonitor, penalty, constraints
      # NOTE: sticky: imax, xtol, direc
      settings = super(PowellDirectionalSolver, self)._process_inputs(
          kwds
      )
      settings.update(
          {
              "xtol": self.xtol,  # line-search error tolerance
              "imax": self.imax,
          }
      )  # line-search maximum iterations
      direc = self._direc  # initial direction set
      [
          settings.update({i: j})
          for (i, j) in kwds.items()
          if i in settings
      ]
      self._direc = kwds["direc"] if "direc" in kwds else direc
      self.xtol = settings["xtol"]
      self.imax = settings["imax"]
      return settings
  
imports: from mystic.tools import wrap_function, unpair, wrap_nested
  from mystic.tools import wrap_bounds, wrap_penalty, reduced
  import numpy
  from numpy import eye, zeros, shape, asarray, absolute, asfarray
  from numpy import clip, squeeze
  from mystic._scipy060optimize import brent
  from mystic.abstract_solver import AbstractSolver
label_desc: Use image node_id 6 for calling the PowellDirectionalSolver obj's underlying member method code with example usage: obj._process_inputs(kwds) and returns: settings