class_docstr: Base/abstract class defining the quadratic model for trust-region
  minimization. Child classes must implement the ``solve`` method.
  
  Values of the objective function, Jacobian and Hessian (if provided) at
  the current iterate ``x`` are evaluated on demand and then stored as
  attributes ``fun``, ``jac``, ``hess``.
class_docstr_tok: ["Base\/abstract","class","defining","the","quadratic","model","for","trust-region","minimization",".","Child","classes","must","implement","the","``","solve","``","method",".","Values","of","the","objective","function",",","Jacobian","and","Hessian","(","if","provided",")","at","the","current","iterate","``","x","``","are","evaluated","on","demand","and","then","stored","as","attributes","``","fun","``",",","``","jac","``",",","``","hess","``","."]
docstr: Value of objective function at current iteration.
docstr_tok: ["Value","of","objective","function","at","current","iteration","."]
code: def fun(self):
      """Value of objective function at current iteration."""
      if self._f is None:
          self._f = self._fun(self._x)
      return self._f
  
file_path: catboost/contrib/python/scipy/py3/scipy/optimize/_trustregion.py
imports: import math
  import numpy
  import scipy.linalg
  from .optimize import _check_unknown_options, _wrap_function, _status_message, OptimizeResult, _prepare_scalar_function
  from scipy.optimize._hessian_update_strategy import HessianUpdateStrategy
  from scipy.optimize._differentiable_functions import FD_METHODS
label_desc: Use image node_id 3 for calling the BaseQuadraticSubproblem obj's underlying member method code with example usage: obj.fun() and returns: self