neuralqx.operators.computational.Euclidean3d.jax.volume module¶
- class VolumeOperatorJax(H, vertex)¶
Bases:
ComputationalJaxOperatorJAX-compatible (diagonal) 2+1 “volume” (= area) operator at a single vertex v for U(1)^3.
- property dtype¶
The dtype of the operator’s matrix elements ⟨σ|Ô|σ’⟩.
- tree_flatten()¶
- classmethod tree_unflatten(struct, leaves)¶
- class VolumeOperatorJaxSquared(H, vertex)¶
Bases:
VolumeOperatorJaxJAX-compatible (diagonal) squared 2+1 “volume” operator at a single vertex
vfor U(1)^3.This operator represents the functional calculus \(\hat{V}_v^2 = (\hat{V}_v)^2\) applied to the diagonal 2+1D “volume” operator \(\hat{V}_v\) implemented by
VolumeOperatorJax.On a charge basis state \(|\vec m\rangle\), where the underlying operator has the eigenvalue
\[V_v(\vec m) \;=\; \left\| \sum_{(e_1,e_2)\ni v} \epsilon_v(e_1,e_2)\; \vec m_{e_1}\times \vec m_{e_2} \right\| \;\ge 0,\]this class acts diagonally as
\[\hat{V}_v^2 \,|\vec m\rangle \;=\; \big(V_v(\vec m)\big)^2 \,|\vec m\rangle.\]Notes
The operator is diagonal in the charge basis, hence Hermitian.
This is implemented by squaring the diagonal matrix elements produced by the parent operator.
In contrast to computing \(V_v(\vec m)\) and then squaring it, one may also implement \(\hat{V}_v^2\) directly as \(\|\vec v\|^2\) to avoid an intermediate square root. This class keeps the implementation minimal and reuses the parent kernel.
- class VolumeOperatorJaxSqrt(H, vertex)¶
Bases:
VolumeOperatorJaxJAX-compatible (diagonal) square-root 2+1 “volume” operator at a single vertex
vfor U(1)^3.This operator represents the functional calculus \(\sqrt{\hat{V}_v}\) applied to the diagonal 2+1D “volume” operator \(\hat{V}_v\) implemented by
VolumeOperatorJax.On a charge basis state \(|\vec m\rangle\), where the underlying operator has the eigenvalue
\[V_v(\vec m) \;=\; \left\| \sum_{(e_1,e_2)\ni v} \epsilon_v(e_1,e_2)\; \vec m_{e_1}\times \vec m_{e_2} \right\| \;\ge 0,\]this class acts diagonally as
\[\sqrt{\hat{V}_v}\,|\vec m\rangle \;=\; \sqrt{V_v(\vec m)}\,|\vec m\rangle.\]Notes
In the present 2+1D U(1)^3 setting, \(V_v(\vec m)\) is a Euclidean norm and is therefore non-negative, so the square root is unambiguous.
The operator is diagonal in the charge basis, hence Hermitian.
This is implemented by applying
jnp.sqrtto the diagonal matrix elements produced by the parent operator.