Transpose

Transpose[list]

转置 list 中的前两层.

Transpose[list,{n1,n2,}]

转置 list,这样使得 list 中的第 k 层是最后结果的第 nk 层.

Transpose[list,mn]

转置 list 中的层 mn,其他层不变.

Transpose[list,k]

list k 位置上的层向右循环.

更多信息和选项

范例

打开所有单元关闭所有单元

基本范例  (3)

转置一个 3×3 数值矩阵:

可视化转置运算:

转置一个 2×3 符号矩阵:

使用 tr 输入转置运算符:

范围  (13)

矩阵  (6)

以网格形式输入矩阵:

转置矩阵并格式化结果:

将行矩阵转置为列矩阵:

格式化输入和输出:

将列矩阵转置回行矩阵:

矢量转置则保持不变:

Transpose 使单位矩阵保持不变:

s 是稀疏矩阵:

Transpose[s] 也是稀疏矩阵:

实际上,只是这些指标被颠倒了:

转置 SymmetrizedArray 对象:

由于其反对称性,结果等于原始数组的负数:

将一个符号转置格式化为 TraditionalForm

数组  (7)

转置秩为 3 的数组的前两级,有效地将其转置为矢量矩阵:

使用不同置换转置深度 3 的数组:

将深度为 5 的数组的层向右循环两个位置:

使用 TwoWayRule 符号执行转置:

使用 Cycles 表示法执行转置:

转置深度为 4 的数组的层 2 和 3:

第二和第三维被交换:

通过转置两个相同层获取主导主角线:

应用  (13)

矩阵分解  (4)

是一个随机实矩阵:

QRDecomposition

是正交的,所以它的逆是 TemplateBox[{q}, Transpose]

从分解重构

计算矩阵 SchurDecomposition

矩阵 是正交的,所以它的逆是 TemplateBox[{q}, Transpose]

从分解重构

计算矩阵 SingularValueDecomposition

矩阵 是正交的,所以它们的逆矩阵是它们的转置:

从分解重构

构造 的奇异值分解,一个随机的 矩阵:

首先计算 TemplateBox[{a}, Transpose].a 的特征系统:

奇异值是非零特征值的平方根:

矩阵是奇异值的对角矩阵,其形状与 相同:

矩阵将特征向量作为其列:

对于每个非零特征值, 矩阵具有 形式的列:

验证 是正交的:

验证分解:

特殊矩阵  (6)

对称矩阵服从 s=TemplateBox[{s}, Transpose],这是一个反对称矩阵 a=-TemplateBox[{a}, Transpose]. 这个矩阵是对称的:

SymmetricMatrixQ 验证:

这个矩阵是反对称的:

AntisymmetricMatrixQ 验证:

如果 TemplateBox[{o}, Inverse]=TemplateBox[{o}, Transpose],则矩阵是正交的. 检查矩阵 是否正交:

使用 OrthogonalMatrixQ 确认它是正交矩阵:

实值对称矩阵可正交对角化为 s=o.d.TemplateBox[{o}, Transpose],其中 为对角线和实值,且 正交. 验证以下矩阵是否对称,然后对其进行对角化:

要对角化,首先计算 的特征值并将它们放在对角矩阵中:

接下来,计算单位特征向量:

然后 可以像前面一样用 对角化,并且 o=TemplateBox[{v}, Transpose]

如果 TemplateBox[{u}, Inverse]=TemplateBox[{{(, TemplateBox[{u}, Transpose, SyntaxForm -> SuperscriptBox], )}}, Conjugate],则矩阵为酉矩阵. 证明矩阵 是酉矩阵:

UnitaryMatrixQ 验证:

如果 n.TemplateBox[{n}, Transpose]=TemplateBox[{n}, Transpose].n,则实值矩阵 称为正规矩阵. 正规矩阵是最通用的矩阵类型,可以酉对角化为 n=u.d.TemplateBox[{{(, TemplateBox[{u}, Transpose, SyntaxForm -> SuperscriptBox], )}}, Conjugate],其中 为对角线和 为酉矩阵. 所有实对称矩阵 都是正规矩阵,因为等式的两边都是简单的

证明下面的矩阵是正规矩阵,然后将其对角化:

使用 NormalMatrixQ 验证:

这样的正规矩阵可以使用 Eigensystem 进行酉对角化:

与对称矩阵的情况不同,这里的对角矩阵是复值:

对特征向量进行归一化并将它们放在列中会得到一个酉矩阵:

验证对角化 n=u.d.TemplateBox[{{(, TemplateBox[{u}, Transpose, SyntaxForm -> SuperscriptBox], )}}, Conjugate]

证明实反对称矩阵和正交矩阵是正规的,因此可以酉对角化. 对于正交矩阵,只需代入定义 TemplateBox[{o}, Transpose]=TemplateBox[{o}, Inverse] 即可得到两边的单位矩阵:

对于反对称矩阵,两边都是简单的

正交矩阵的特征值位于单位圆上:

反对称矩阵有纯虚特征值:

可视化  (3)

使用 Transpose 更改 BarChart 中的数据分组:

使用 TransposeListPlot3D 中的 轴互换:

这具有对数据沿直线 镜面反射的效果:

多维化一个一维列表命令:

例如,在数组的所有级别上累积:

在数组的所有层级上反转:

导入一个 RGB 图像:

反转所有层级的数据,沿直线 反射,并将红色和蓝色通道对换:

属性和关系  (18)

Transpose 服从 TemplateBox[{{(, TemplateBox[{A}, Transpose, SyntaxForm -> SuperscriptBox], )}}, Transpose]=A

对于兼容矩阵 Transpose 服从 TemplateBox[{{(, {a, ., b}, )}}, Transpose]=TemplateBox[{b}, Transpose].TemplateBox[{a}, Transpose]

矩阵求逆与 Transpose 互相对称,即 TemplateBox[{{(, TemplateBox[{a}, Transpose], )}}, Inverse]=TemplateBox[{{(, TemplateBox[{a}, Inverse], )}}, Transpose]

Conjugate[Transpose[m]] 可以使用 ConjugateTranspose 一步完成:

许多特殊矩阵由它们在 Transpose 下的属性定义. 对称矩阵有 TemplateBox[{s}, Transpose]=s

正交矩阵满足 TemplateBox[{o}, Transpose]=TemplateBox[{o}, Inverse]

矩阵及其转置的乘积是对称的:

的矩阵乘积;

TemplateBox[{s}, Transpose]=TemplateBox[{{(, {TemplateBox[{m}, Transpose], ., m}, )}}, Transpose]=TemplateBox[{m}, Transpose].TemplateBox[{{(, TemplateBox[{m}, Transpose, SyntaxForm -> SuperscriptBox], )}}, Transpose]=TemplateBox[{m}, Transpose]m=s,因此 是对称的:

方阵及其转置之和是对称的:

TemplateBox[{m}, Transpose] 的矩阵和:

TemplateBox[{s}, Transpose]=TemplateBox[{{(, {TemplateBox[{m}, Transpose, SyntaxForm -> SuperscriptBox], +, m}, )}}, Transpose]=TemplateBox[{m}, Transpose]+TemplateBox[{{(, TemplateBox[{m}, Transpose, SyntaxForm -> SuperscriptBox], )}}, Transpose]=TemplateBox[{m}, Transpose]+m=s,因此 是对称的:

两者之差是反对称的:

{{}} 的转置返回 {}

结果不能再次为{{}} ,因为维度 {1,0} 的置换是 {0,1},并且没有表达式可以具有维度 {0,1}

Transpose[a] 转置数组的前两层:

Transpose[a,perm] 返回维度为 Permute[Dimensions[a],perm] 的数组:

维度为 {2,3,4} 的数组:

通过 σ-1 转置元素位置的排列 σ

Transpose[a,Cycles[{{m,n}}]]Transpose[a,mn] 是等价的:

使用 PermutationList[Cycles[{{m,n}}],两种格式是等价的:

转置的组合等同于它们置换的乘积,同样的顺序:

一般来说,转置不能交换:

Transpose[a,σ] 等价于 Flatten[a,List/@InversePermutation[σ]]:

TransposeTensorTranspose 对于显式数组是一致的:

TensorTranspose 进一步支持 Transpose 不支持的符号操作:

矩阵的转置可用 Thread 进行:

Transpose[m,{1,1}] 等价于 Diagonal[m]:

Transpose[a,{1,,1,2,3,}] 等价于追踪被转置为层 1 的层:

可能存在的问题  (1)

Transpose 仅适用于矩形阵列:

您可以通过填充执行广义化的置换:

消去填充:

巧妙范例  (1)

Wolfram Research (1988),Transpose,Wolfram 语言函数,https://reference.wolfram.com/language/ref/Transpose.html (更新于 2024 年).

文本

Wolfram Research (1988),Transpose,Wolfram 语言函数,https://reference.wolfram.com/language/ref/Transpose.html (更新于 2024 年).

CMS

Wolfram 语言. 1988. "Transpose." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2024. https://reference.wolfram.com/language/ref/Transpose.html.

APA

Wolfram 语言. (1988). Transpose. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/Transpose.html 年

BibTeX

@misc{reference.wolfram_2024_transpose, author="Wolfram Research", title="{Transpose}", year="2024", howpublished="\url{https://reference.wolfram.com/language/ref/Transpose.html}", note=[Accessed: 14-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_transpose, organization={Wolfram Research}, title={Transpose}, year={2024}, url={https://reference.wolfram.com/language/ref/Transpose.html}, note=[Accessed: 14-November-2024 ]}