Sampling quaternion variables constrained to a manifold
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 1.6k
- Forks
- 440
- PR merge metrics
- No merged PRs in 30d
Description
Hi,
I have a question that may or may not be outside the scope of emcee.
I am trying to replicate work found here using emcee: http://asa.scitation.org/doi/10.1121/1.5017840
This work tries to infer elastic constants as well as a 3D angle of rotation using Hamiltonian Monte Carlo.
To parametrize this rotation unambiguously, they avoid Euler angles and choose unit quaternions defined by four scalar values (x, y, z, w) which completely describe the rotation that is sought to best match experimental data.
I tried to define this problem using emcee but then realized that I am missing something important: the ability to constrain values given by the proposal distribution.
Concretely, if the proposal distribution generates 4 new values (x, y, z, w), they have to satisfy x^2 + y^2 + z^2 + w^2 = 1 to lie on the required manifold for rotations.
Browsing the documentation, I was wondering if it is possible to use the Move interface to achieve something like this?
Or do you see an alternative package I should move to?
Thank you for any pointers.
Regards,
Florian
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with emcee's Move interface and proposal-distribution documentation. Determine whether the interface supports proposals constrained to the unit-quaternion manifold; done would be a documented supported approach or a clear recommendation for handling this constraint.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100