Skip to content

Latest commit

 

History

History
36 lines (23 loc) · 1012 Bytes

symmetrizer.rst

File metadata and controls

36 lines (23 loc) · 1012 Bytes

Symmetrizer

All Symmetrizer classes are derived from BaseSymmetrizer

.. autoclass:: neuralxc.symmetrizer.symmetrizer.BaseSymmetrizer
   :members: __init__, get_symmetrized


Customized Symmetrizers can be created by inheriting from this base class and implementing the method _symmetrize_function. As of now two symmetrizers are implemented by default:

.. autoclass:: neuralxc.symmetrizer.symmetrizer.TraceSymmetrizer
   :members: _symmetrize_function

.. autoclass:: neuralxc.symmetrizer.symmetrizer.MixedTraceSymmetrizer
   :members: _symmetrize_function

If

C_{nlm}

is the density projection with principal quantum number n, angular momentum l, and angular momentum projection m then trace symmetrizers create a rotationally invariant feature by taking the trace of the outer product over m of C with itself:

D_{nl} = \text{Tr}_{mm'}[C \otimes_{m} C]

MixedTraceSymmetrizer generalizes this approach by mixing radial channels obtaining

D_{nn'l}