permutedims
permutedims(A, perm)
Permute the dimensions of array A. perm is a vector specifying a permutation of length ndims(A). This is a generalization of transpose for multi-dimensional arrays. Transpose is equivalent to permutedims(A, [2,1]).
Examples
-
Permute dimensions of a matrix:
julia> A = [1 2 3; 4 5 6; 7 8 9]; julia> permutedims(A, [2, 1]) 3×3 Matrix{Int64}: 1 4 7 2 5 8 3 6 9This example permutes the dimensions of the matrix
Ausing the provided permutation vector[2, 1]. The rows become columns and the columns become rows. -
Permute dimensions of a 3D array:
julia> A = reshape(1:8, 2, 2, 2); julia> permutedims(A, [3, 1, 2]) 2×2×2 Array{Int64, 3}: [:, :, 1] = 1 3 2 4 [:, :, 2] = 5 7 6 8In this example, a 3D array
Ais reshaped using the permutation vector[3, 1, 2]. The dimensions are rearranged such that the original third dimension becomes the first, the original first dimension becomes the second, and the original second dimension becomes the third. -
Permute dimensions of a vector:
julia> v = [1, 2, 3, 4]; julia> permutedims(v, [1]) 4×1 Matrix{Int64}: 1 2 3 4This example shows that even though a vector is technically a 2D array, permuting its dimensions does not change its structure. The permutation vector
[1]results in the same vector. - Transpose a matrix using permutedims:
julia> A = [1 2 3; 4 5 6]; julia> permutedims(A, [2, 1]) 3×2 Matrix{Int64}: 1 4 2 5 3 6The
permutedimsfunction can be used to achieve the transpose of a matrix. In this example, the matrixAis transposed by permuting its dimensions using[2, 1].
It's worth noting that the perm vector provided to permutedims should be a valid permutation of length ndims(A). If the perm vector contains duplicate values or values outside the valid range, an error will occur.
See Also
User Contributed Notes
Add a Note
The format of note supported is markdown, use triple backtick to start and end a code block.