You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am wondering whether two parametrizations can be used on a same tensor. In particular, I want to parametrize a matrix to be both positive definite and in the SL group.
In the example below, I create a class with a matrix that should be both PSD and SLN:
However, I get the following error when I initialize the class:
InManifoldError: Tensor not contained in PSSD(
n=7
(0): Stiefel(n=7, k=7, triv=linalg_matrix_exp)
(1): Rn(n=7)
). Got
I think that the parametrized tensor gets re-initialized by SLN, and so it is no longer PSD, leading to the error. Is there some way to do something as intended here with geotorch?
The text was updated successfully, but these errors were encountered:
Alas, these parametrisations are not compositional as-is, but it shouldn't be too difficult to implement your own.
Note that the class PSD is implemented in terms of the class PSSDFixedRank by fixing the rank to be the highest and choosing a particular transformation like softplus
On the other hand, sl(n) is implemented in a similar way, but tweaking the function that's used to define the eigenvalues (we normalise them so that their product is one):
As such, you can inherit from PSD and implement your own class where you pass in a normalised function like we do in SL(n) to the parent class. You'll also need to implement the method in_manifold_eigen and sample, similar to how SL(n) does it.
Please reach out if there is anything that's not clear :)
Hello,
I am wondering whether two parametrizations can be used on a same tensor. In particular, I want to parametrize a matrix to be both positive definite and in the SL group.
In the example below, I create a class with a matrix that should be both PSD and SLN:
However, I get the following error when I initialize the class:
I think that the parametrized tensor gets re-initialized by SLN, and so it is no longer PSD, leading to the error. Is there some way to do something as intended here with geotorch?
The text was updated successfully, but these errors were encountered: