Constrained optimization toolkit for PyTorch
GeoTorch now is fully compatible with torch.nn.utils.parametrize
and it uses it whenever possible.
The current release implements a number of important changes
torch.nn.utils.parametrize
, which will be part of PyTorch 1.9Implements the following manifolds:
Rn(n)
: Rⁿ. Unrestricted optimizationSym(n)
: Vector space of symmetric matricesSkew(n)
: Vector space of skew-symmetric matricesSphere(n)
: Sphere in Rⁿ. It is Sⁿ⁻¹ = { x ∈ Rⁿ | ||x|| = 1 }SO(n)
: Manifold of n×n orthogonal matricesStiefel(n,k)
: Manifold of n×k matrices with orthonormal columnsGrassmannian(n,k)
: Manifold of k-dimensional subspaces in RⁿLowRank(n,k,r)
: Variety of n×k matrices of rank r or lessAnd the following constructions:
Manifold
: Manifold that supports Riemannian Gradient Descent and trivializationsFibration
: Fibred space π : E → M, constructed from a Manifold
E, a submersion π and local sections of dπProductManifold
: M₁ × ... × Mₖ