neuralqx.operators.computational.Euclidean3d.numba package

class VolumeOperator(H, vertex)

Bases: ComputationalOperator

Returns the (diagonal) 2+1D “volume” operator at a single vertex v in the U(1)^3 model.

In 2+1 dimensions, the spatial slice is 2D, so the geometric operator associated with a small region around a vertex is an area operator. In the abelian U(1)^3 weak-coupling model, the operator is diagonal in the charge basis and is built from oriented pairs of edges meeting at the vertex.

On a charge basis state \(|\vec{m}\rangle\), we define

\[\hat{A}_v \,|\vec{m}\rangle \;=\; \left\| \sum_{(e_1,e_2)\ni v} \epsilon_v(e_1,e_2)\; \vec m_{e_1}\times \vec m_{e_2} \right\|\;|\vec{m}\rangle,\]

where each edge charge vector is

\[\vec m_e = (m_e^{(1)}, m_e^{(2)}, m_e^{(3)}),\]

and \(\epsilon_v(e_1,e_2)\in\{+1,-1\}\) is the oriented sign of the ordered pair at the vertex (2D right-hand convention on the embedded graph).

Notes

  • Units / overall normalization: set to 1 by convention.

  • This is the natural 2D analog of the 4D vertex volume, replacing the signed scalar triple product with a signed sum of cross products and taking the norm.

  • Requires the graph to provide oriented edge pairs and their signs at the vertex.

Implementation details

  • The set of contributing pairs at v is taken from graph.connectivities[str(v)]['edges'] (expected to be pairs for the 3D model).

  • Their orientation signs are taken from graph.signs[str(v)] using get_true_edge_pair to canonicalize keys.

  • Each pair contributes \(\epsilon_v(e_1,e_2)\,(\vec m_{e_1}\times \vec m_{e_2})\) (a 3-vector). All contributions are summed into a single 3-vector, and then its Euclidean norm is taken. The result is non-negative and diagonal.

class VolumeOperatorSqrt(H, vertex)

Bases: VolumeOperator

Square-root (diagonal) 2+1 “volume” operator at a single vertex v in the U(1)^3 model.

This class implements the operator function \(\sqrt{\hat{V}_v}\) derived from VolumeOperator.

On a charge basis state \(|\vec m\rangle\), where the parent 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 operator acts diagonally as

\[\sqrt{\hat{V}_v}\,|\vec m\rangle \;=\; \sqrt{V_v(\vec m)}\,|\vec m\rangle.\]

Notes

  • In this 2+1D construction, \(V_v(\vec m)\) is a norm and thus non-negative.

  • Diagonal in the charge basis and therefore Hermitian.

  • Implemented by applying jnp.sqrt to the diagonal matrix elements returned by the parent kernel.

class VolumeOperatorSquared(H, vertex)

Bases: VolumeOperator

Squared (diagonal) 2+1 “volume” operator at a single vertex v in the U(1)^3 model.

This class implements \(\hat{V}_v^2 = (\hat{V}_v)^2\) as a diagonal observable derived from VolumeOperator.

On a charge basis state \(|\vec m\rangle\), where the parent 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 operator acts diagonally as

\[\hat{V}_v^2 \,|\vec m\rangle \;=\; \big(V_v(\vec m)\big)^2 \,|\vec m\rangle.\]

Notes

  • Diagonal in the charge basis and therefore Hermitian.

  • Implemented by squaring the diagonal matrix elements returned by the parent kernel.

ThiemannRegularisedVertexConstraint3d(lqx, vertex, *, apply_lapse=False, adjoint=False)

Submodules