[go: up one dir, main page]

Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add parallel transport to SPD with BW metric #480

Open
mateuszbaran opened this issue May 25, 2022 · 8 comments
Open

Add parallel transport to SPD with BW metric #480

mateuszbaran opened this issue May 25, 2022 · 8 comments
Labels
extend manifold This issue proposes/asks for new functions to extend an existing manifold

Comments

@mateuszbaran
Copy link
Member

Described here: https://arxiv.org/abs/2109.05768 .

@mateuszbaran mateuszbaran added the extend manifold This issue proposes/asks for new functions to extend an existing manifold label May 25, 2022
@kellertuer
Copy link
Member
kellertuer commented Jul 6, 2022

Hm, I tried understanding what they actually compute but I am lost to find what $d_i, d_j, \delta_i, \delta_j$ are in the formula for the PT.

edit: The authors might have implemented it here https://geomstats.github.io/_modules/geomstats/geometry/spd_matrices.html#SPDMetricBuresWasserstein.parallel_transport but since that is for arbitrary backends, its a little hard to read and also there is no formula (just input/output) documented.

edit 2: The $d_i,d_j$ might be eigenvalues, at least while not mentioned on page 15 with the formula, it is mentioned on page 2, so if they use that consistently, it might be eigenvalues.

edit 3: $d_i,d_j$ seem to be the eigenvalues, what $\delta_i, \delta_j$ are I can not find out, but it seems also that the general case does not have a closed form, also in the code above they apply a solver for the ODE in general, so I am not sure we should/can include it in out setting (we could go for a solver of the ODE for sure if a package is loaded and such, as a loose dependency).

@mateuszbaran
Copy link
Member Author
mateuszbaran commented Jul 6, 2022

I think $d_i, \delta_i$ are eigenvalues of SPD matrices, that's how it's used in Section 2. d should correspond to D and \delta to $\Delta$.

EDIT: Github doesn't handle multiple formulas well...

@mateuszbaran
Copy link
Member Author

Regarding ODE solving, I think there are three reasonable directions:

  1. Use ManifoldDiffEq.jl to solve the ODE.
  2. Work in charts (not polished yet).
  3. Roll out a simple first or second order solver for a particular case.

@kellertuer
Copy link
Member

I think di,δi are eigenvalues of SPD matrices, that's how it's used in Section 2. d should correspond to D and \delta to Δ.

but in the formula they use (delta_j+delta_i) / (d_i+d_j) so if both are eigenvalues of some SPD matrices, I do not know which one wis which. I also have not seen the single-index delta in sec 2?

@kellertuer
Copy link
Member

Regarding ODE solving, I think there are three reasonable directions:

  1. Use ManifoldDiffEq.jl to solve the ODE.
  2. Work in charts (not polished yet).
  3. Roll out a simple first or second order solver for a particular case.

Ok, neither of those three is what I could provide, since I also do not seem able to get their notation, this might not be an issue for me.

@mateuszbaran
Copy link
Member Author

This suggests how d_i and D are related:
image
so here:
image
I think d_i are eigenvalues in D and \delta_i are eigenvalues in \Delta.
But they could have written that more clearly.

@mateuszbaran
Copy link
Member Author

Ok, neither of those three is what I could provide, since I also do not seem able to get their notation, this might not be an issue for me.

Yes, none of them is particularly simple. The easiest thing to start here is most likely a rolled-out implementation of a solver for the Sasaki metric I still mean to finish...

@kellertuer
Copy link
Member

I think d_i are eigenvalues in D and \delta_i are eigenvalues in \Delta.
But they could have written that more clearly.

That is possible, for D it is impicitly mentioned somewhere in section 2, for Delta that is not mentioned at all. Still it only solves a specific case, so this Issue really has to wait until we have some ODE framework.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
extend manifold This issue proposes/asks for new functions to extend an existing manifold
Projects
None yet
Development

No branches or pull requests

2 participants