Add specification for computing the matrix transpose (matrix_transpose
)
#248
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR:
Background
The addition of a
matrix_transpose
API is meant to replace the use of thetranspose
API. Thetranspose
API was found to be problematic due to its API supporting more general axes permutation (see gh-228).Similar to other linear algebra APIs, the proposed
matrix_transpose
API operates on stack of matrices and thus more succinctly and explicitly allows expressing matrix operations in accordance with mathematical intuition and obviates the need for doingtranspose(x, axes=[-2,-1])
whenever wanting to perform a batched matrix transpose. Batching is the default behavior.The
matrix_transpose
API serves as a functional complement to the proposed.mT
attribute (see gh-246).