Numerous representations exist for chemical systems, each varying in the complexity and the type of information included within the representation. A widely used one-dimensional (1D) representation is Simplified Molecular Input Line Entry System (SMILES) strings, which encode molecular structure into ASCII strings (a sequence of alphanumeric characters -Figure part a) displays the SMILES string for paracetamol). Molecular graphs are two-dimensional (2D) representations of molecules which consist of nodes connected by edges, representing atoms and chemical bonds, respectively. Nodes and edges can contain features to provide a more detailed representation of the structure, for example Mulliken charges for nodes and bond orders for edges. Molecular graphs can also be extended into three dimensions, using Cartesian coordinates for nodes to reflect the spatial arrangement of the chemical system. Molecular graphs are just one example of a three-dimensional (3D) representation, but given that molecules exist in 3D, 3D molecular representations offer the most complete representation of chemical systems. While 3D representations offer valuable spatial information about chemical systems that affects their behaviour, the added complexity of handling Cartesian coordinates raises its own challenges. A model receiving an arbitrary input should output consistent results, regardless of the input's orientation or positioning. For example, rotating a chemical system 90° will not change its properties. Training an ML model with raw Cartesian coordinates could cause instability in its output as simple operations, such as rotations and translations, will change these coordinates, and a model cannot feasibly be trained on all sets of coordinates from all possible operations on the system. To circumvent this, SE(3)-equivariant models can be used which are translationally, rotationally and permutationally equivariant. A function, 𝑓(𝑥), is equivariant under a transformation, 𝑡(𝑥), if the output undergoes the same transformation as the input: