Source code for pycif.plugins.minimizers.congrad.check

[docs] def check_options(self, chi, **kwargs): """Validate CONGRAD parameters and fill missing ones with defaults. Args: self (Plugin): CONGRAD minimizer plugin instance. Reads/sets: ``zreduc`` (default 1e-15), ``pevbnd`` (default 0.01), ``kvadim``, ``kverbose`` (default 1), ``ldsolve`` (default True), ``maxiter`` (mandatory), ``knevecout``. chi (np.ndarray): initial iterate; used only to read its dimension. **kwargs: unused; accepted for interface consistency. Returns: Plugin: ``self`` with all resolved parameters written back. Raises: AttributeError: if ``maxiter`` is not defined on the plugin. """ # Required reduction in gradient norm self.zreduc = getattr(self, "zreduc", 1e-15) self.pevbnd = getattr(self, "pevbnd", 0.01) self.kvadim = chi.size self.kverbose = getattr(self, "kverbose", 1) self.ldsolve = getattr(self, "ldsolve", True) # Check for missing attributes if not hasattr(self, "maxiter"): raise AttributeError( "maxiter is missing in the definition of the " "minimizer. Please check your Yaml file" ) else: self.knevecout = self.maxiter return self