Glossary#
Quick definitions for the terms that show up across these docs and the code. For the narrative that ties them together, see How HyenaND works.
- HyenaND#
The library’s flagship operator: a
Short Conv → Gate → Long Conv → Gatesandwich that achieves a global, data-dependent receptive field in \(O(N \log N)\) on native 1D / 2D / 3D grids. See How HyenaND works.- Subquadratic#
Scaling better than \(O(N^2)\) in the number of tokens \(N\). HyenaND is \(O(N \log N)\); attention is \(O(N^2)\).
- Receptive field#
The span of input a single output position can depend on. A global receptive field means any output can see the entire input. This is attention’s defining property, which HyenaND reproduces via long convolutions.
- Data-dependence#
Whether the operator’s mixing weights are computed from the input (data-dependent) or fixed after training. Attention is data-dependent through the attention matrix \(A(x)\); HyenaND is data-dependent through gating.
- Gating#
Element-wise multiplication of a signal by a data-derived mask (e.g. \(q \odot \mathrm{SiLU}(k)\)). HyenaND interleaves gates with its long convolution to make the effective operator depend on the input without ever materialising an \(N \times N\) matrix.
- Implicit filter#
A convolution kernel produced by evaluating a small network (SIREN) on grid coordinates, rather than stored as one learnable weight per tap. It is compact, and because it is a continuous function of position it is samplable on a grid of any size or aspect ratio without retraining. Contrast with an explicit filter, whose taps are learned parameters (as in a classical CNN).
- SIREN#
A sinusoidal-activation MLP (\(f_\theta\)) used to parametrise implicit filters. Its frequency is controlled by an \(\omega_0\) hyperparameter that scales with grid resolution and dimensionality. See Reports for the dimensional-scaling rule. Implemented in
nvsubquadratic.modules.kernels_nd.- FiLM#
Feature-wise Linear Modulation. Conditions the synthesised kernel on a control variable \(z(\mathbf{x})\) pooled from the input’s register tokens, making the kernel input-dependent. Implemented in
nvsubquadratic.modules.film.- Register tokens#
Auxiliary tokens carried alongside the data tokens whose pooled state feeds the FiLM conditioning of the Hyena kernel.
- FFT convolution (FFTConv)#
Computing a convolution as an element-wise product in the frequency domain, \(y = \mathcal{F}^{-1}(\mathcal{F}(x) \odot \mathcal{F}(K))\). Each FFT is \(O(N \log N)\) and the total cost is independent of kernel size, which is what makes a global kernel affordable. Implemented in nvsubquadratic.ops: FFT convolution primitives.
- Convolution theorem#
The identity that convolution in the spatial domain equals element-wise multiplication in the frequency domain. The mathematical basis for FFT convolution (FFTConv).
- Toeplitz matrix#
The matrix form of a 1D convolution: each row is a shifted copy of the filter. Convolving a signal with a filter is the same as multiplying by the corresponding Toeplitz matrix; a causal convolution is a lower-triangular one.
- Linear vs circular convolution#
Linear zero-pads the input so the kernel never wraps around (matches
torch.nn.ConvNd); circular treats the input as periodic so the kernel wraps at the boundary (useful for PDEs and periodic signals). See nvsubquadratic.ops: FFT convolution primitives.- BHL / BLH#
Memory layout. BHL is channels-first (
[B, H, *spatial], matchestorch.nn.ConvNd); BLH is channels-last ([B, *spatial, H], common in transformer code). The FFT is faster on contiguous spatial axes, so BHL is the fast path;_w_reshapewrappers accept BLH and convert.- Causal#
An operator where output position \(n\) depends only on inputs at positions \(\le n\), with no leakage from the future. Required for autoregressive 1D sequence modelling.
- Mixer#
An operator with the shared \((q, k, v)\) signature that
nvsubquadratic.modules.sequence_mixer.QKVSequenceMixerdispatches over (Hyena, attention, CKConv, or Mamba), so a network can swap one for another from the config.- CKConv#
Continuous-Kernel Convolution: a convolution whose kernel is an implicit filter \(k_\theta(p)\). A close relative of Hyena’s long-conv path; see
nvsubquadratic.modules.ckconv_nd.- LazyConfig#
The library’s deferred-instantiation system: a config object that records what to build and how without building it yet, so example recipes describe a whole experiment as a tree of configs. See
nvsubquadratic.lazy_config.LazyConfig.