def __init__(self, min_eigen_optimizer: MinimumEigenOptimizer, min_num_vars: int=1, min_num_vars_optimizer: Optional[OptimizationAlgorithm]=None, penalty: Optional[float]=None, history: Optional[IntermediateResult]=IntermediateResult.LAST_ITERATION) -> None:
    ' Initializes the recursive minimum eigen optimizer.\n\n        This initializer takes a ``MinimumEigenOptimizer``, the parameters to specify until when to\n        to apply the iterative scheme, and the optimizer to be applied once the threshold number of\n        variables is reached.\n\n        Args:\n            min_eigen_optimizer: The eigen optimizer to use in every iteration.\n            min_num_vars: The minimum number of variables to apply the recursive scheme. If this\n                threshold is reached, the min_num_vars_optimizer is used.\n            min_num_vars_optimizer: This optimizer is used after the recursive scheme for the\n                problem with the remaining variables.\n            penalty: The factor that is used to scale the penalty terms corresponding to linear\n                equality constraints.\n            history: Whether the intermediate results are stored.\n                Default value is :py:obj:`~IntermediateResult.LAST_ITERATION`.\n\n        Raises:\n            QiskitOptimizationError: In case of invalid parameters (num_min_vars < 1).\n        '
    validate_min('min_num_vars', min_num_vars, 1)
    self._min_eigen_optimizer = min_eigen_optimizer
    self._min_num_vars = min_num_vars
    if min_num_vars_optimizer:
        self._min_num_vars_optimizer = min_num_vars_optimizer
    else:
        self._min_num_vars_optimizer = MinimumEigenOptimizer(NumPyMinimumEigensolver())
    self._penalty = penalty
    self._history = history
    self._qubo_converter = QuadraticProgramToQubo()
Initializes the recursive minimum eigen optimizer.

This initializer takes a ``MinimumEigenOptimizer``, the parameters to specify until when to
to apply the iterative scheme, and the optimizer to be applied once the threshold number of
variables is reached.

Args:
    min_eigen_optimizer: The eigen optimizer to use in every iteration.
    min_num_vars: The minimum number of variables to apply the recursive scheme. If this
        threshold is reached, the min_num_vars_optimizer is used.
    min_num_vars_optimizer: This optimizer is used after the recursive scheme for the
        problem with the remaining variables.
    penalty: The factor that is used to scale the penalty terms corresponding to linear
        equality constraints.
    history: Whether the intermediate results are stored.
        Default value is :py:obj:`~IntermediateResult.LAST_ITERATION`.

Raises:
    QiskitOptimizationError: In case of invalid parameters (num_min_vars < 1).
def __init__(self, min_eigen_optimizer: MinimumEigenOptimizer, min_num_vars: int=1, min_num_vars_optimizer: Optional[OptimizationAlgorithm]=None, penalty: Optional[float]=None, history: Optional[IntermediateResult]=IntermediateResult.LAST_ITERATION) -> None:
    ' Initializes the recursive minimum eigen optimizer.\n\n        This initializer takes a ``MinimumEigenOptimizer``, the parameters to specify until when to\n        to apply the iterative scheme, and the optimizer to be applied once the threshold number of\n        variables is reached.\n\n        Args:\n            min_eigen_optimizer: The eigen optimizer to use in every iteration.\n            min_num_vars: The minimum number of variables to apply the recursive scheme. If this\n                threshold is reached, the min_num_vars_optimizer is used.\n            min_num_vars_optimizer: This optimizer is used after the recursive scheme for the\n                problem with the remaining variables.\n            penalty: The factor that is used to scale the penalty terms corresponding to linear\n                equality constraints.\n            history: Whether the intermediate results are stored.\n                Default value is :py:obj:`~IntermediateResult.LAST_ITERATION`.\n\n        Raises:\n            QiskitOptimizationError: In case of invalid parameters (num_min_vars < 1).\n        '
    validate_min('min_num_vars', min_num_vars, 1)
    self._min_eigen_optimizer = min_eigen_optimizer
    self._min_num_vars = min_num_vars
    if min_num_vars_optimizer:
        self._min_num_vars_optimizer = min_num_vars_optimizer
    else:
        self._min_num_vars_optimizer = MinimumEigenOptimizer(NumPyMinimumEigensolver())
    self._penalty = penalty
    self._history = history
    self._qubo_converter = QuadraticProgramToQubo()