# {py:mod}`evox.algorithms.so.es_variants.esmc` ```{py:module} evox.algorithms.so.es_variants.esmc ``` ```{autodoc2-docstring} evox.algorithms.so.es_variants.esmc :allowtitles: ``` ## Module Contents ### Classes ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`ESMC ` - ```{autodoc2-docstring} evox.algorithms.so.es_variants.esmc.ESMC :summary: ``` ```` ### API `````{py:class} ESMC(pop_size: int, center_init: torch.Tensor, optimizer: typing.Literal[adam] | None = None, sigma_decay: float = 1.0, sigma_limit: float = 0.01, lr: float = 0.05, sigma: float = 0.03, device: torch.device | None = None) :canonical: evox.algorithms.so.es_variants.esmc.ESMC Bases: {py:obj}`evox.core.Algorithm` ```{autodoc2-docstring} evox.algorithms.so.es_variants.esmc.ESMC ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} evox.algorithms.so.es_variants.esmc.ESMC.__init__ ``` ````{py:method} step() :canonical: evox.algorithms.so.es_variants.esmc.ESMC.step ```{autodoc2-docstring} evox.algorithms.so.es_variants.esmc.ESMC.step ``` ```` ````{py:method} record_step() :canonical: evox.algorithms.so.es_variants.esmc.ESMC.record_step ```` `````