parameters: (
          log_likelihood_evaluator,
          hyperparameters_to_evaluate,
          max_num_threads=DEFAULT_MAX_NUM_THREADS,
          status=None,
  )
return_statement: return values
docstring: Compute the specified log likelihood measure at each input set of hyperparameters.
  
      Generally Newton or gradient descent is preferred but when they fail to converge this may be the only "robust" option.
      This function is also useful for plotting or debugging purposes (just to get a bunch of log likelihood values).
  
      :param log_likelihood_evaluator: object specifying which log likelihood measure to evaluate
      :type log_likelihood_evaluator: interfaces.log_likelihood_interface.LogLikelihoodInterface subclass
      :param hyperparameters_to_evaluate: the hyperparameters at which to compute the specified log likelihood
      :type hyperparameters_to_evaluate: array of float64 with shape (num_to_eval, log_likelihood_evaluator.num_hyperparameters)
      :param max_num_threads: maximum number of threads to use, >= 1 (UNUSED)
      :type max_num_threads: int
      :param status: (output) status messages (e.g., reporting on optimizer success, etc.)
      :type status: dict
      :return: log likelihood value at each specified set of hyperparameters
      :rtype: array of float64 with shape (hyperparameters_to_evaluate.shape[0])
docstring_summary: Compute the specified log likelihood measure at each input set of hyperparameters.
docstring_tokens: Compute the specified log likelihood measure at each input set of hyperparameters .
function: def evaluate_log_likelihood_at_hyperparameter_list(
          log_likelihood_evaluator,
          hyperparameters_to_evaluate,
          max_num_threads=DEFAULT_MAX_NUM_THREADS,
          status=None,
  ):
      """Compute the specified log likelihood measure at each input set of hyperparameters.
  
      Generally Newton or gradient descent is preferred but when they fail to converge this may be the only "robust" option.
      This function is also useful for plotting or debugging purposes (just to get a bunch of log likelihood values).
  
      :param log_likelihood_evaluator: object specifying which log likelihood measure to evaluate
      :type log_likelihood_evaluator: interfaces.log_likelihood_interface.LogLikelihoodInterface subclass
      :param hyperparameters_to_evaluate: the hyperparameters at which to compute the specified log likelihood
      :type hyperparameters_to_evaluate: array of float64 with shape (num_to_eval, log_likelihood_evaluator.num_hyperparameters)
      :param max_num_threads: maximum number of threads to use, >= 1 (UNUSED)
      :type max_num_threads: int
      :param status: (output) status messages (e.g., reporting on optimizer success, etc.)
      :type status: dict
      :return: log likelihood value at each specified set of hyperparameters
      :rtype: array of float64 with shape (hyperparameters_to_evaluate.shape[0])
  
      """
      null_optimizer = NullOptimizer(None, log_likelihood_evaluator)
      _, values = multistart_optimize(null_optimizer, starting_points=hyperparameters_to_evaluate)
  
      # TODO(GH-59): Have null optimizer actually indicate whether updates were found, e.g., in an IOContainer-like structure.
      found_flag = True
      if status is not None:
          status["evaluate_log_likelihood_at_hyperparameter_list"] = found_flag
  
      return values
function_tokens: def evaluate_log_likelihood_at_hyperparameter_list ( log_likelihood_evaluator , hyperparameters_to_evaluate , max_num_threads = DEFAULT_MAX_NUM_THREADS , status = None , ) : null_optimizer = NullOptimizer ( None , log_likelihood_evaluator ) _ , values = multistart_optimize ( null_optimizer , starting_points = hyperparameters_to_evaluate ) # TODO(GH-59): Have null optimizer actually indicate whether updates were found, e.g., in an IOContainer-like structure. found_flag = True if status is not None : status [ "evaluate_log_likelihood_at_hyperparameter_list" ] = found_flag return values