pdft.manifolds.AbstractRiemannianManifold#

class pdft.manifolds.AbstractRiemannianManifold(*args, **kwargs)[source]#

Bases: Protocol

Interface the optimizers need from a manifold: project a Euclidean gradient onto the tangent space, retract from points along tangent by step alpha, and transport a tangent vector from old to new.

__init__(*args, **kwargs)#

Methods

__init__(*args, **kwargs)

project(points, grads)

retract(points, tangent, alpha, *[, I_batch])

transport(old, new, vec)

project(points, grads)[source]#
Parameters:
Return type:

Array

retract(points, tangent, alpha, *, I_batch=None)[source]#
Parameters:
Return type:

Array

transport(old, new, vec)[source]#
Parameters:
Return type:

Array