Page-wise complex conjugate transpose
Y = pagectranspose(X)
example
Y = pagectranspose(X) applies the complex conjugate transpose to each page of N-D array X. Each page of the output Y(:,:,i) is the conjugate transpose of the corresponding page in X, as in X(:,:,i)'.
X
Y(:,:,i)
X(:,:,i)'
collapse all
Create a 3-D complex array A, and then use pagectranspose to find the complex conjugate transpose of each page of the array.
A
pagectranspose
r = repelem(1:3,3,1); A = cat(3,r,2*r,3*r); A = A + 1i
A = A(:,:,1) = 1.0000 + 1.0000i 2.0000 + 1.0000i 3.0000 + 1.0000i 1.0000 + 1.0000i 2.0000 + 1.0000i 3.0000 + 1.0000i 1.0000 + 1.0000i 2.0000 + 1.0000i 3.0000 + 1.0000i A(:,:,2) = 2.0000 + 1.0000i 4.0000 + 1.0000i 6.0000 + 1.0000i 2.0000 + 1.0000i 4.0000 + 1.0000i 6.0000 + 1.0000i 2.0000 + 1.0000i 4.0000 + 1.0000i 6.0000 + 1.0000i A(:,:,3) = 3.0000 + 1.0000i 6.0000 + 1.0000i 9.0000 + 1.0000i 3.0000 + 1.0000i 6.0000 + 1.0000i 9.0000 + 1.0000i 3.0000 + 1.0000i 6.0000 + 1.0000i 9.0000 + 1.0000i
B = pagectranspose(A)
B = B(:,:,1) = 1.0000 - 1.0000i 1.0000 - 1.0000i 1.0000 - 1.0000i 2.0000 - 1.0000i 2.0000 - 1.0000i 2.0000 - 1.0000i 3.0000 - 1.0000i 3.0000 - 1.0000i 3.0000 - 1.0000i B(:,:,2) = 2.0000 - 1.0000i 2.0000 - 1.0000i 2.0000 - 1.0000i 4.0000 - 1.0000i 4.0000 - 1.0000i 4.0000 - 1.0000i 6.0000 - 1.0000i 6.0000 - 1.0000i 6.0000 - 1.0000i B(:,:,3) = 3.0000 - 1.0000i 3.0000 - 1.0000i 3.0000 - 1.0000i 6.0000 - 1.0000i 6.0000 - 1.0000i 6.0000 - 1.0000i 9.0000 - 1.0000i 9.0000 - 1.0000i 9.0000 - 1.0000i
Input array, specified as a multidimensional array.
Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string | struct | cell | categorical | datetime | duration | calendarDuration Complex Number Support: Yes
single
double
int8
int16
int32
int64
uint8
uint16
uint32
uint64
logical
char
string
struct
cell
categorical
datetime
duration
calendarDuration
The page-wise complex conjugate transpose is equivalent to permuting the first two dimensions of the array with permute(conj(X),[2 1 3:ndims(X)]).
permute(conj(X),[2 1 3:ndims(X)])
ctranspose | pagetranspose | permute
ctranspose
pagetranspose
permute
You have a modified version of this example. Do you want to open this example with your edits?