Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Additional symmetries for matrix-valued ACE bases #136

Open
MatthiasSachs opened this issue Jun 10, 2022 · 2 comments
Open

Additional symmetries for matrix-valued ACE bases #136

MatthiasSachs opened this issue Jun 10, 2022 · 2 comments

Comments

@MatthiasSachs
Copy link
Collaborator

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 $\{r_i\}$ 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}, \{r_i\}) = [G(-r_{0}, \{r_i \})]^T.$$

@MatthiasSachs
Copy link
Collaborator Author

MatthiasSachs commented Jun 10, 2022

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 $B_k,, 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.

@MatthiasSachs MatthiasSachs changed the title New symmetries for Tensor valued ACE basis Additional symmetries for matrix-valued ACE bases Jun 10, 2022
@zhanglw0521
Copy link
Collaborator

zhanglw0521 commented Jun 12, 2022

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants