mindchemistry.e3.o3.SphericalHarmonics
- class mindchemistry.e3.o3.SphericalHarmonics(irreps_out, normalize, normalization='integral', irreps_in=None, dtype=float32)[源代码]
返回球面谐波层。
- 参数:
irreps_out (Union[str, Irreps]) - 球面谐波输出的不可约表示。
normalize (bool) - 是否将输入张量归一化为之前位于球体上的单位向量投影到球面谐波上。
normalization (str) - {'integral','component','norm'},输出张量的归一化方法。默认值:
"integral"
。irreps_in (Union[str, Irreps, None]) - 球面谐波输入的不可约表示。默认值:
None
。dtype (mindspore.dtype) - 输入张量的类型。默认值:
mindspore.float32
。
- 输入:
x (Tensor) - 构造球面谐波的张量。形状为 \((..., 3)\) 的张量。
- 输出:
output (Tensor) - 张量,球面谐波 \(Y^l(x)\)。形状为 \((..., 2l+1)\) 。
- 异常:
ValueError - 如果 normalization 不在 {'integral', 'component', 'norm'} 中。
ValueError - 如果球谐函数的 irreps_in 既不是向量 (1x1o) 也不是伪向量 (1x1e)。
ValueError - 如果球谐函数的 irreps_out 的 l 和 p 与 irreps_in 不一致。输出的奇偶性应为 p = {input_p**l}。
NotImplementedError - 如果 l 大于 11。
- 支持平台:
Ascend
样例:
>>> 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.]]