Transpose
Transpose[list]
转置 list 中的前两层.
Transpose[list,{n1,n2,…}]
转置 list,这样使得 list 中的第 k 层是最后结果的第 nk 层.
Transpose[list,mn]
转置 list 中的层 m 和 n,其他层不变.
Transpose[list,k]
将 list k 位置上的层向右循环.
更多信息和选项
- Transpose[m] 给出一个矩阵 m 的一般转置.
- Transpose[m] 可以输入为 m.
- 可以输入为 tr 或 \[Transpose].
- 对于矩阵 m,Transpose[m] 等同于 Transpose[m,{2,1}].
- 对于深度 r≥3 的数组 a,Transpose[a] 等同于 Transpose[a,{2,1,3,…,r}],只转置首两层. »
- Transpose[a,{n1,n2,…}] 或 Transpose[a,n1n2] 中的 ni 必须是正整数,不能大于 ArrayDepth[a].
- 如果 {n1,n2,…} 是置换列表,那么,在 Transpose[a,{n1,n2,…}] 的位置 {i1,i2,…} 的元素是数组 a 位置 {in1,in2,…} 的元素.
- 对于置换 perm, Transpose[a,perm] 维度是 Permute[Dimensions[a],perm].
- 当由 PermutationCycles[perm] 返回时,Transpose[a,perm] 中的置换列表 perm 可以给定为 Cycles 格式. »
- Transpose[a,m↔n] 或 Transpose[a,TwoWayRule[m,n]] 等价于 Transpose[a,Cycles[{{m,n}}]]. »
- Transpose[a,k] 等价于 Transpose[a,RotateLeft[Range[n],k]],其中 n 是 a 的深度.
- Transpose 允许重复 ni,计算由重复级别确定的子数组的对角线. 结果是一个更小深度的数组.
- 对于平方矩阵 m,Transpose[m,{1,1}] 返回 m 的主对角,由 Diagonal[m] 给定. »
- 一般来说,如果 np=nq,那么,运算 Transpose[a,{n1,n2,…}] 可能是维度 {d1,d2,…} 的数组 a,如果 dp=dq.
- Transpose 适用于 SparseArray 和 结构化数组对象.
范例
打开所有单元关闭所有单元范围 (13)
矩阵 (6)
数组 (7)
使用 TwoWayRule 符号执行转置:
使用 Cycles 表示法执行转置:
应用 (13)
矩阵分解 (4)
特殊矩阵 (6)
用 SymmetricMatrixQ 验证:
用 AntisymmetricMatrixQ 验证:
使用 OrthogonalMatrixQ 确认它是正交矩阵:
实值对称矩阵可正交对角化为 ,其中 为对角线和实值,且 正交. 验证以下矩阵是否对称,然后对其进行对角化:
用 UnitaryMatrixQ 验证:
如果 ,则实值矩阵 称为正规矩阵. 正规矩阵是最通用的矩阵类型,可以酉对角化为 ,其中 为对角线和 为酉矩阵. 所有实对称矩阵 都是正规矩阵,因为等式的两边都是简单的 :
使用 NormalMatrixQ 验证:
像 这样的正规矩阵可以使用 Eigensystem 进行酉对角化:
可视化 (3)
使用 Transpose 更改 BarChart 中的数据分组:
使用 Transpose 将 ListPlot3D 中的 和 轴互换:
属性和关系 (18)
Transpose 服从 :
对于兼容矩阵 和 ,Transpose 服从 :
矩阵求逆与 Transpose 互相对称,即 :
Conjugate[Transpose[m]] 可以使用 ConjugateTranspose 一步完成:
许多特殊矩阵由它们在 Transpose 下的属性定义. 对称矩阵有 :
结果不能再次为{{}} ,因为维度 {1,0} 的置换是 {0,1},并且没有表达式可以具有维度 {0,1}:
Transpose[a] 转置数组的前两层:
Transpose[a,perm] 返回维度为 Permute[Dimensions[a],perm] 的数组:
Transpose[a,Cycles[{{m,n}}]] 与 Transpose[a,mn] 是等价的:
使用 PermutationList[Cycles[{{m,n}}],两种格式是等价的:
Transpose[a,σ] 等价于 Flatten[a,List/@InversePermutation[σ]]:
Transpose 和 TensorTranspose 对于显式数组是一致的:
TensorTranspose 进一步支持 Transpose 不支持的符号操作:
矩阵的转置可用 Thread 进行:
Transpose[m,{1,1}] 等价于 Diagonal[m]:
Transpose[a,{1,…,1,2,3,…}] 等价于追踪被转置为层 1 的层:
可能存在的问题 (1)
巧妙范例 (1)
文本
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 年