2026a

# pagectranspose


按页复共轭转置

函数库: TyMath

# 语法

Y = pagectranspose(X)

# 说明

Y = pagetranspose(X) 将复共轭转置应用于 N 维数组 X 的每页。输出 Y[:,:,i] 的每页均为 X 中对应页的共轭转置,如 transpose(X[:,:,i]) 中所示。示例

# 示例

恢复复数 N 维数组的页

创建一个复三维数组 A ,然后使用 pagectranspose 得到该数组每页的复共轭转置。

using TyMath
using TyBase
r = repelem((1:3)',3,1)
A = cat(r, 2*r, 3*r, dims=3)
A = A .+ 1im
A = 3×3×3 Array{Complex{Int64}, 3}:
[:, :, 1] =
 1+1im  2+1im  3+1im
 1+1im  2+1im  3+1im
 1+1im  2+1im  3+1im

[:, :, 2] =
 2+1im  4+1im  6+1im
 2+1im  4+1im  6+1im
 2+1im  4+1im  6+1im

[:, :, 3] =
 3+1im  6+1im  9+1im
 3+1im  6+1im  9+1im
 3+1im  6+1im  9+1im
B = pagectranspose(A)
B = 3×3×3 Array{Complex{Int64}, 3}:
[:, :, 1] =
 1-1im  1-1im  1-1im
 2-1im  2-1im  2-1im
 3-1im  3-1im  3-1im

[:, :, 2] =
 2-1im  2-1im  2-1im
 4-1im  4-1im  4-1im
 6-1im  6-1im  6-1im

[:, :, 3] =
 3-1im  3-1im  3-1im
 6-1im  6-1im  6-1im
 9-1im  9-1im  9-1im

# 输入参数

X - 输入数组
多维数组

输入数组,指定为多维数组。

数据类型: Int | Float | Bool

复数支持:

# 详细信息

数组页

像 pagectranspose 这样的分页运算函数对排列成一个多维数组的二维矩阵进行运算。例如,对于三维数组,数组的第三个维度中的元素通常称为页面,因为它们像书籍中的页一样堆叠在一起。每个页面都是由函数对其进行运算的一个矩阵。

您也可以将二维矩阵的集合组成一个更高维度的数组,如四维或五维数组,在这种情况下, pagectranspose 仍将数组的基本单位视为可对其进行运算的一个二维矩阵,如 X[:,:,i,j,k,l] 。

cat 函数可用于将矩阵集合组合成一个多维数组,而 zeros 函数可用于预分配一个多维数组。

# 提示

按页复共轭转置等效于用 permutedims(conj(X),[2,1,3:ndims(X)...]) 置换数组的前两个维度。

# 另请参阅

' | pagetranspose