MolecularDiffusion.modules.models.syncogen.diffusion.interpolation.geometric

Geometric interpolator.

Classes

GeometricInterpolator

Geometric interpolator for flow matching.

Module Contents

class MolecularDiffusion.modules.models.syncogen.diffusion.interpolation.geometric.GeometricInterpolator

Bases: MolecularDiffusion.modules.models.syncogen.diffusion.interpolation.base.InterpolatorBase

Geometric interpolator for flow matching.

Implements geometric interpolation: φ_t(C0, C1) = C0^(1-t) * C1^t where exponentiation is applied element-wise.

Note: This interpolator requires C0 and C1 to have the same sign. For coordinates, you may want to use a linear interpolator instead.

interpolate(C0: torch.Tensor, C1: torch.Tensor, t: torch.Tensor) torch.Tensor

Geometrically interpolate between C0 and C1.

Parameters:
  • C0 – Initial coordinates tensor

  • C1 – Final coordinates tensor

  • t – Time tensor, shape [B] or [B, 1, …]

Returns:

Geometrically interpolated coordinates