qrunch.tools.minimizers.fft
Utilities for FFT-based minimization.
Module Attributes
Default options for the FFT minimizer. |
Classes
FFT-based minimizer for multivariable functions. |
|
Options controlling |
- DEFAULT_OPTIONS
Default options for the FFT minimizer.
- class FftMinimizer
Bases:
MinimizerFFT-based minimizer for multivariable functions.
- __init__(options: FftMinimizerOptions | None = None) None
Initialize the minimizer.
- Parameters:
options (FftMinimizerOptions | None) – Options to pass to the minimizer.
- Return type:
None
- minimize(function: Callable[[list[ndarray[Any, dtype[float64]]]], list[float]], initial_guess: ndarray[Any, dtype[float64]], iteration: int | None, bounds: tuple[float, float] | list[tuple[float, float]] | None = None, circuit: Circuit | None = None, operator: HermitianPauliSum | None = None) MinimizerResult
Optimize the given function.
- Parameters:
function (Callable[[list[ndarray[Any, dtype[float64]]]], list[float]]) – The function to minimize.
initial_guess (ndarray[Any, dtype[float64]]) – Used for determining input size.
iteration (int | None) – Ignored.
bounds (tuple[float, float] | list[tuple[float, float]] | None) – Ignored.
circuit (Circuit | None) – The parameterized circuit to be minimized.
operator (HermitianPauliSum | None) – The operator used in the expectation value.
- Return type:
- class FftMinimizerOptions
Bases:
DataclassPublicAPIOptions controlling
FftMinimizer(FFT-based 1D/2D trigonometric polynomial minimizer).- Parameters:
fft_padded_size_1d – int, default=2**14 FFT zero-padded size for dense interpolation in the 1D case (power of two).
fft_padded_size_2d – int, default=2**11 FFT zero-padded size per dimension for dense interpolation in the 2D case (power of two).
improve_on_fft_min – bool, default=True If
Truerefine the FFT-seeded minimum with a local continuous optimizer (analytic model in 2D / bounded scalar search in 1D).maximum_iterations – int, default=100 Maximum iterations for the local refinement stage when
improve_on_fft_minis enabled.x_value_tolerance – float, default=1e-8 Convergence tolerance on the refined solution value (mapped to SciPy
xatol/ftoldepending on context).
- __init__(*, fft_padded_size_1d: int = 16384, fft_padded_size_2d: int = 2048, improve_on_fft_min: bool = True, maximum_iterations: int = 100, x_value_tolerance: float = 1e-08) None
- Parameters:
fft_padded_size_1d (int)
fft_padded_size_2d (int)
improve_on_fft_min (bool)
maximum_iterations (int)
x_value_tolerance (float)
- Return type:
None
- static __new__(cls, *args: Any, **kwargs: Any) Any
- Parameters:
args (Any)
kwargs (Any)
- Return type:
Any
- fft_padded_size_1d: int = 16384
- fft_padded_size_2d: int = 2048
- improve_on_fft_min: bool = True
- maximum_iterations: int = 100
- x_value_tolerance: float = 1e-08