fd_sweep_perturbation#
- lumopt2.utils.fd_grad.fd_sweep_perturbation(project: Project, params: ndarray, index: int, perturbation_values: List[float] | ndarray) tuple[ndarray, ndarray]#
Finite difference convergence test: compute the finite difference gradient for a range of perturbation values and plot the results.
All perturbed simulations across all perturbation values are queued together and run concurrently.
- Parameters:
- project
lumopt2.Project Project instance for which the convergence test is performed.
- params
np.ndarray Optimization parameters for gradient computation.
- index
int Parameter index to test.
- perturbation_values
listornp.ndarray List of perturbation values to test.
- project
- Returns:
tuple(fd_grad_val, fd_grad_diff): finite difference gradients for each perturbation, difference between consecutive gradients.
- Raises:
ValueErrorIf input types are invalid.