:py:mod:`IMLCV.base.CVDiscovery`
================================

.. py:module:: IMLCV.base.CVDiscovery


Module Contents
---------------

Classes
~~~~~~~

.. autoapisummary::

   IMLCV.base.CVDiscovery.Transformer
   IMLCV.base.CVDiscovery.CVDiscovery




.. py:class:: Transformer(outdim, periodicity=None, bounding_box=None, descriptor='sb', descriptor_kwargs={})

   .. py:method:: pre_fit(z: list[IMLCV.base.CV.SystemParams], nl: list[NeighbourList] | None, chunk_size=None, scale=True) -> tuple[list[IMLCV.base.CV.CV], IMLCV.base.CV.CvFlow]


   .. py:method:: fit(sp_list: list[IMLCV.base.CV.SystemParams], nl_list: list[NeighbourList] | None, chunk_size=None, prescale=True, postscale=True, jac=jacrev, *fit_args, **fit_kwargs) -> tuple[IMLCV.base.CV.CV, IMLCV.base.CV.CollectiveVariable]


   .. py:method:: _fit(x: list[IMLCV.base.CV.CV], nl: list[NeighbourList] | None, **kwargs) -> tuple[IMLCV.base.CV.CV, IMLCV.base.CV.CvTrans]
      :abstractmethod:


   .. py:method:: post_fit(y: list[IMLCV.base.CV.CV], scale) -> tuple[IMLCV.base.CV.CV, IMLCV.base.CV.CvTrans]



.. py:class:: CVDiscovery(transformer: Transformer)

   convert set of coordinates to good collective variables.

   .. py:method:: data_loader(rounds: IMLCV.base.rounds.Rounds, num=4, out=-1, split_data=False, new_r_cut=None) -> tuple[list[IMLCV.base.CV.SystemParams], list[NeighbourList] | None, IMLCV.base.CV.CollectiveVariable, IMLCV.base.MdEngine.StaticTrajectoryInfo]


   .. py:method:: compute(rounds: IMLCV.base.rounds.Rounds, num_rounds=4, samples=3000.0, plot=True, new_r_cut=None, chunk_size=None, split_data=False, name=None, **kwargs) -> IMLCV.base.CV.CollectiveVariable


   .. py:method:: plot_app(sps: IMLCV.base.CV.SystemParams, nl: IMLCV.base.CV.NeighbourList, old_cv: IMLCV.base.CV.CollectiveVariable, new_cv: IMLCV.base.CV.CollectiveVariable, name, labels=None, chunk_size: int | None = None)
      :staticmethod:



