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 type

  • jax (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 type

  • jax (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 on

  • no_i (bool) – if True, the imaginary pre-factor is not applied

  • computational (bool) – if True, the operator is returned as a computational type

  • jax (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.

Parameters:
  • edge (int) – the edge the operator acts on

  • computational (bool) – if True, the operator is returned as a computational type

  • jax (bool) – if True, and computational is True, the operator is returned as a JAX compatible computational type.

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 on

  • power (float) – the power the eigenvalues should be raised to

  • computational (bool) – if True, the operator is returned as a computational type

  • jax (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 on

  • power (float) – the power the eigenvalues should be raised to

  • computational (bool) – if True, the operator is returned as a computational type

  • jax (bool) – if True, and computational is True, the operator is returned as a JAX compatible computational type.