neuralqx.lqx.qr.abstract_single_vertex_qr_model module¶
- class AbstractLqxSVQRLGModel(hilbert, graph, gauge_group, *, computational=True, jax=True, immirzi=1.0, spacetime_dimensions=4, model_name='AbstractLqxSVQRLGModel')¶
Bases:
AbstractLqxModel- property is_jax¶
- abstract property euclidean_constraint¶
Subclasses should implement the Euclidean constraint according to the single-vertex model of QRLG.
- Returns:
- abstract property lorentzian_constraint¶
Subclasses should implement the Lorentzian constraint according to the single-vertex model of QRLG.
- Returns:
- abstractmethod creation(edge, n, *, computational=False, jax=False)¶
Subclasses should implement a creation operator acting on the specified edge according to the single-vertex model of QRLG.
- Parameters:
edge (
int) – the edge the creation operator is to act on.n (
int) – how many creation operators should be applied, alternatively how much of an ìncrement should the operator apply on the specified edge.computational (
bool) – if True, the operator is returned as a computational typejax (
bool) – if True, and computational is True, the operator is returned as a JAX compatible computational type.
- Returns:
- abstractmethod annihilation(edge, n, *, computational=False, jax=False)¶
Subclasses should implement an annihilation operator acting on the specified edge according to the single-vertex model of QRLG.
- Parameters:
edge (
int) – the edge the annihilation operator is to act on.n (
int) – how many annihilation operators should be applied, alternatively how much of a decrement should the operator apply on the specified edge.computational (
bool) – if True, the operator is returned as a computational typejax (
bool) – if True, and computational is True, the operator is returned as a JAX compatible computational type.
- Returns:
- abstractmethod s(edge, no_i=False, *, computational=False, jax=True)¶
The symmetric holonomy operator s which increments or decrements the quantum number of the specified edge symmetrically by a value of 1.
- Parameters:
edge (
int) – the edge the operator should act onno_i (
bool) – if True, the imaginary pre-factor is not appliedcomputational (
bool) – if True, the operator is returned as a computational typejax (
bool) – if True, and computational is True, the operator is returned as a JAX compatible computational type.
- abstractmethod c(edge, *, computational=False, jax=True)¶
The symmetric holonomy operator c which increments or decrements the quantum number of the specified edge symmetrically by a value of 1.
- abstractmethod E(edge, power=1.0, *, computational=False, jax=True)¶
The flux operator which acts as a number operator but can additionally output eigenvalues raised to some power.
- Parameters:
edge (
int) – the site the flux operator should act onpower (
float) – the power the eigenvalues should be raised tocomputational (
bool) – if True, the operator is returned as a computational typejax (
bool) – if True, and computational is True, the operator is returned as a JAX compatible computational type.
- abstractmethod E_inv(edge, power=1.0, *, computational=False, jax=True)¶
The flux operator which acts as an ‘inverse’ number operator in the sense that it outputs 1/spin instead of spin as the eigenvalue. Additionally, it can output eigenvalues raised to some power.
- Parameters:
edge (
int) – the site the inverted flux operator should act onpower (
float) – the power the eigenvalues should be raised tocomputational (
bool) – if True, the operator is returned as a computational typejax (
bool) – if True, and computational is True, the operator is returned as a JAX compatible computational type.