Tensor Field Network
A tensor field network is an equivariant neural architecture that represents features by their transformation type under 3D rotations.
An equivariant layer should satisfy:
Here and describe how input and output feature types transform.
For a point set with coordinates , a tensor field network updates features using messages that depend on relative geometry:
where is an input feature of type , is a geometric filter built from radial functions and spherical harmonics, and mixes only symmetry-compatible components.
Feature Types
| Type | Example | Output Use |
|---|---|---|
| scalar | atom type embedding, residue feature, distance-derived feature | energy, affinity, class probability, ranking |
| vector | direction, displacement, force-like feature | coordinate update, vector field, orientation-sensitive message |
| tensor | angular environment descriptor | high-order geometry when local orientation matters |
The model is usually more expensive than scalar message passing because tensor products, higher-order channels, and spherical harmonic filters increase memory and compute.
Relation to Message Passing
Scalar graph message passing can be written as:
A tensor field network adds a representation-type contract:
This makes it suitable for molecular structures, protein pockets, point clouds, and coordinate-aware generative models when the task depends on 3D orientation.
Why It Matters
- It is an important design pattern for handling scalar, vector, and higher-order geometric features.
- The architecture connects neural message passing with spherical harmonics and representation theory.
- It helps frame why equivariant models need structured feature channels instead of only scalar embeddings.
- It clarifies why some structure models are much heavier than ordinary GNNs.
When to Use
Use this family when:
- the input contains meaningful 3D coordinates;
- the output should be invariant or equivariant under rotations and translations;
- local angular geometry matters, not only pairwise distances;
- the extra compute is justified by the evaluation claim.
Avoid it as a default if the task only needs scalar graph features, a simple invariant readout, or a fast baseline.
Checks
- Which tensor orders are used, and are they justified by the task?
- Are message passing operations equivariant at every layer?
- Is the added expressivity worth the compute and implementation complexity?
- Are final outputs converted to invariant or equivariant quantities correctly?