forte2.helpers.diis =================== .. py:module:: forte2.helpers.diis Module Contents --------------- .. py:class:: DIIS A class that implements the direct inversion in the iterative subspace (DIIS) method. :Parameters: **diis_start** : int, optional, default=3 Start saving DIIS vectors after this many iterations. A value less than 0 means no DIIS **diis_nvec** : int, optional, default=8 The number of vectors to keep in the DIIS. **diis_min** : int, optional, default=3 The minimum number of vectors to perform extrapolation. **do_diis** : bool, optional If True, DIIS is performed. If False, DIIS is not performed. If None, DIIS is performed unless `diis_start` or `diis_nvec` is less than 1. :Attributes: **status** : str Status of the last DIIS update. It could be one of the following: - "": No DIIS update was performed. - "S": DIIS vectors are saved. - "S/E": DIIS vectors are saved and extrapolation is performed. .. rubric:: Notes The currently implemented DIIS method is Pulay's original method (https://doi.org/10.1016/0009-2614(80)80396-4), which is also known as CDIIS. The error vector is the AO-basis (we use the orthonormal basis in actual implementation) orbital gradient: FDS-SDF (https://doi.org/10.1080/00268976900100941). .. !! processed by numpydoc !! .. py:attribute:: diis_start :type: int :value: 4 .. py:attribute:: diis_nvec :type: int :value: 8 .. py:attribute:: diis_min :type: int :value: 3 .. py:attribute:: do_diis :type: bool :value: None .. py:method:: update(p: numpy.typing.NDArray, e: numpy.typing.NDArray) -> numpy.typing.NDArray Update the DIIS object and return extrapolated parameters :Parameters: **p** : NDArray The current set of parameters **e** : NDArray The current error vector :Returns: NDArray The extrapolated parameters .. !! processed by numpydoc !!