Add implementation of `scitype` for "points on a manifold"
The tentative suggestion is that scitype((p, M)) = ManifoldPoint{typeof(M)} whenever M isa Manifolds.Manifold.
Context:https://github.com/JuliaManifolds/ManifoldML.jl/issues/3 Requires: https://github.com/alan-turing-institute/ScientificTypes.jl/issues/114
Specifically:
ST.scitype(::Tuple{Any,MT}) where MT<:ManifoldsBase.Manifold = ManifoldPoint{MT}
This is implemented on the manifolds branch. Look at these tests to get an idea of behaviour.
@mateuszbaran @kellertuer I propose you add MLJScientificTypes to your dev project and pin to the manifolds branch until we're sure this is the best approach. Yes?
I think that looks good and should work.
@mateuszbaran @kellertuer
Been a while. Here's an update from our end: The manifold branch referred to above is now part of an archived repo - a casualty of the renaming MLJScientificTypes -> ScientificTypes and ScientificTypes -> ScientificTypesBase. For the record the relevant commit is here:
https://github.com/JuliaAI/MLJScientificTypes.jl/commit/4411140412c5a227ee59f433ddcd8b86604fc6aa
And ManifoldPoint{MT} is already in ScientificTypesBase.
I can create a new PR if there is still interest to do some integration. What is the status of this at your end?
We would still be interested of course – I just got carried away from the ManifoldsML package due to a few features on Manifolds and moving to a new university/country.
Thanks for an update! I'm still interested in developing ManifoldsML further, it just happened that I don't currently need to apply traditional machine learning to manifold-valued data. I'm currently working towards continuous normalizing flows on manifolds because it's more relevant to one of the projects I'm currently working on.