Raveling and unraveling are common operations when working with matricies. With a ravel operation we go from matrix coordinate to index coordinates, while with an unravel operation we go the opposite way. In this post we will through an example how they can be done with numpy in a very easy way. Let's assume that we have a matrix of dimensions 4-by-4, and that we want to index of the element (1, 1) counting from the top right corner of the matrix. Using
ravel_multi_index the solution is easy:
import numpy as np
coordinates = [[1], [1]]
shape = (4, 4)
idx = np.ravel_multi_index(coordinates, shape)
print(idx)
array([5])
What if we want to go back to the original coordinates? In this case we can use
unravel_index:
np.unravel_index(idx, shape)
(array([1]), array([1]))
So now we know that the elements (1, 1) has index 5 ;-)
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.