mindchemistry.e3.o3.SphericalHarmonics
- class mindchemistry.e3.o3.SphericalHarmonics(irreps_out, normalize, normalization='integral', irreps_in=None, dtype=float32)[source]
- Return Spherical harmonics layer. - Parameters
- irreps_out (Union[str, Irreps]) – irreducible representations of output for spherical harmonics. 
- normalize (bool) – whether to normalize the input Tensor to unit vectors that lie on the sphere before projecting onto the spherical harmonics. 
- normalization (str) – {'integral', 'component', 'norm'}, normalization method of the output tensors. Default: - 'integral'.
- irreps_in (Union[str, Irreps, None]) – irreducible representations of input for spherical harmonics. Default: - None.
- dtype (mindspore.dtype) – The type of input tensor. Default: - mindspore.float32.
 
 - Inputs:
- x (Tensor) - Tensor for construct spherical harmonics. The shape of Tensor is \((..., 3)\). 
 
- Outputs:
- output (Tensor) - the spherical harmonics \(Y^l(x)\). The shape of Tensor is \((..., 2l+1)\). 
 
 - Raises
- ValueError – If normalization is not in {'integral', 'component', 'norm'}. 
- ValueError – If irreps_in for SphericalHarmonics is not neither a vector (1x1o) nor a pseudovector (1x1e). 
- ValueError – If the l and p of irreps_out are not consistent with irreps_in for spherical harmonics. The output parity should have been p = {input_p**l}. 
- NotImplementedError – If l is larger than 11. 
 
 - Supported Platforms:
- Ascend
 - Examples - >>> from mindchemistry.e3.o3 import SphericalHarmonics >>> from mindspore import ops >>> sh = SphericalHarmonics(0, False, normalization='component') >>> x = ops.rand(2,3) >>> m = sh(x) [[1.] [1.]]