Любой стандартный алгоритм оптимизации ищет локальный минимум где-то «близко» к начальной точке, либо выбранный вами, либо предоставленный вами. Поиск всех локальных минимумов может быть невычислимой проблемой, потому что вы можете иметь их бесконечное число, даже в конечном диапазоне (например, f (x) = [cos (1 / x)] ^ 2 имеет бесконечное количество локальных минимумов в (0, 1] диапазоне).
Предполагая, что у вас есть конечное число локальных минимумов, найти все из них - более сложная задача, чем поиск глобального минимума, что, в свою очередь, является гораздо более сложной проблемой, чем поиск локального минимума где-то рядом с вами. Не существует простого способа адаптации алгоритмов локальной оптимизации для поиска глобальных минимумов. Даже популярные алгоритмы для нахождения глобального минимума, такие как генетические алгоритмы / эволюционные стратегии, не гарантируют, что они посещают все локальные минимумы. На самом деле, они пытаются этого избежать.
Лучший способ использовать GSL в этой ситуации - взглянуть на свернутую функцию и попытаться угадать, где должны быть минимумы, а затем найти их с помощью кода GSL.