Skip to content

Utility function for rotation of equivariant TensorMaps #359

@MichelangeloDomina

Description

@MichelangeloDomina

We would like to have a public functionality to rotate equivariant tensors in a TensorMap format. We already have a basic functionality for testing purposes in the CG submodule but the intention would be to make this public.

Something like (as suggested by @Luthaf):

class WignerDReal:
    def __init__(self, max_angular):
        ...

    def rotation(self, angles) -> RotationMatrix:
        ...

class RotationMatrix:
    def __init__(self, ...):
        ...

    def rotate_tensor(self, tensor: TensorMap) -> TensorMap:
        ...

    def rotate_block(self, o3_lamda: int, o3_sigma: int, block: TensorBlock) -> TensorBlock:
        ...

In the future, the WignerDReal class will be abstracted to the wigners package and/or custom implementation for lower max_angular could be written.

Tagging people involved: @jwa7 , @Luthaf

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions