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 9
This example permutes the dimensions of the matrix
A
using 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 8
In this example, a 3D array
A
is 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 4
This 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 6
The
permutedims
function can be used to achieve the transpose of a matrix. In this example, the matrixA
is 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.