Inherit from Manifold
class and implement all astract method in Geometry
class.
Refer Euclidean manifold as a template.
Implement the operation method in Manifold
class。
If the operation cannot broadcast to other manifold, just implement it in proper manifold.
Refer Product manifold as a template.
Same with tensorflow.
Notice riemannian parameters are identified by their name, you might preprocess them in initialization stage.
Refer RSGD optimizer as a template.