ACEsuit / ACE.jl

Parameterisation of Equivariant Properties of Particle Systems
66 stars 15 forks source link

Additional symmetries for matrix-valued ACE bases #136

Open MatthiasSachs opened 2 years ago

MatthiasSachs commented 2 years ago

I would like to extend ACE to allow for representation of $\mathbb{R}^{3\times 3}$ matrix-valued functions, that, besides the standard equivariant symmetry properties, also satisfy symmetries of the form $$G(\{r_i\}, \{r_j\}) = S \circ G(\{-r_i\}, \{r_j\}),$$ where $S$ is some prescribed involution $S : \mathbb{R}^{3 \times 3} \rightarrow \mathbb{R}^{3 \times 3}$, and $\{r_i\}$ and $\{r_j\}$ are the displacements of two groups/species of atoms.

For example, for a bond environment with bond displacement $r_0\in \mathbb{R}^3$ and discplacements $\{ri\}$ of the atoms within the bond environment, I would like to represent $\mathbb{R}^{3\times 3}$ valued functions of the form $$G(r{0}, \{ri\}) = [G(-r{0}, \{r_i \})]^T.$$

MatthiasSachs commented 2 years ago

I think, one way to approach this issue would be to

  1. generate a span of function that satisfy the required symmetry property by applying the symmetrization operation

    $$ \overline{B}_k(\{r_i\}, \{r_j\}) = B_k(\{r_i\}, \{r_j\}) + S \circ B_k(\{-r_i\}, \{r_j\}),$$

    to an equivariant ACE basis $Bk,\, k=1,\dots, N{\rm basis}$.

  2. follow the usual steps to convert this set of functions to a basis, i.e., compute the Gramian for the such obtained set of functions and then obtain coupling coefficients from the corresponding SVD.

However, I am not sure where exactly (and if at all?) in the ACE.jl code base we should include this.

zhanglw0521 commented 2 years ago

If I understand correctly we encountered a similar (or same?) issue in ACEhamiltonians implementation, which raised from the fact that $$H{IJ} = H{JI}^\ast,$$ or say,
$$H(r{bond}, {r{env}}) = [H(-r{bond}, {r{env}})]^*.$$

This was currently fixed in the ACEhamiltonians package rather than in ACE, by editing the A2Bmap of the mentioned $B$ basis. That is to say, assume $B(R) = UA(R)$, $S\circ B(R^{dual}) = \tilde{U}A(R^{dual}) = \tilde{U}PA(R)$, where $P$ are some permutation matrix, then we set $$\bar{B} = (U+\tilde{U}P) A$$ to be the new symmetric basis.

This introduces potentially new linear dependence which can be removed by adopting another SVD.