Transpose
Transpose[list]
list の最初の2つのレベルを転置する.
Transpose[list,{n1,n2,…}]
list の第 k レベルが最終的に第 nkレベルになるように list を転置する.
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]は最初の2レベルだけを転置した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]である.
- Transpose[a,perm]の置換リスト perm は,PermutationCycles[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}]は,Diagonal[m]が返すような m の主対角を返す. »
- 一般に,np=nqなら,dp=dqのときの次元{d1,d2,…}の任意の配列 a についてTranspose[a,{n1,n2,…}]という操作が可能である.
- TransposeはSparseArrayオブジェクトと構造配列オブジェクトに使うことができる.
例題
すべて開くすべて閉じるスコープ (13)
行列 (6)
Transposeは恒等行列は変えない:
Transpose[s]もまた疎である:
SymmetrizedArrayオブジェクトを転置する:
結果は,その反対称性のために,もとの配列を負にしたものに等しい:
TraditionalFormによる記号転置をフォーマットする:
配列 (7)
アプリケーション (13)
行列分解 (4)
特殊行列 (6)
対称行列は に従い反対称行列は に従う.次の行列は対称行列である:
SymmetricMatrixQで確認する:
AntisymmetricMatrixQで確認する:
ならその行列は直交行列である.行列 が直交行列かどうかチェックする:
OrthogonalMatrixQを使って直交行列であることを確認する:
実数値対称行列は のように直交対角化可能である.ただし, は実対角行列では は直交行列である.次の行列が対称行列であることを確認し,次にこれを対角化する:
対角化するために,まず の固有値を計算し,それを対角行列に入れる:
ならその行列はユニタリ行列である.行列 がユニタリ行列であることを示す:
UnitaryMatrixQで確認する:
実行列 は, なら正規行列であると言われる.正規行列は としてユニタリ対角化可能な中で最も一般的な行列である.ただし, は対角行列で はユニタリ行列である.実対称行列 は,等式の両辺が単純に なので,すべて正規行列である:
NormalMatrixQを使って確かめる:
のような正規行列はEigensystemを使ってユニタリ対角化できる:
固有ベクトルを正規化してそれを列に入れるとユニタリ行列になる:
実反対称行列と直交行列は正規行列であり,したがってユニタリ対角化可能であることを示す.直交行列については,単純に定義 に代入して両辺の恒等行列を求める:
可視化 (3)
Transposeを使ってBarChartにおけるデータのグループ化を変える:
Transposeを使ってListPlot3Dの 軸と 軸を入れ替える:
特性と関係 (18)
Transposeは に従う:
Transposeは,互換行列 と についてに従う:
逆行列はTransposeと可換である.すなわち:
Conjugate[Transpose[m]]はConjugateTransposeを使うと1ステップになる:
多くの特殊行列はその特性によってTransposeのもとで定義される.対称行列は である:
次元{1,0}の置換は{0,1}であり次元が{0,1}の式はないので,結果は再度{{}}にはならない:
Transpose[a]は配列の最初の2レベルを転置する:
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 Language. 1988. "Transpose." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2024. https://reference.wolfram.com/language/ref/Transpose.html.
APA
Wolfram Language. (1988). Transpose. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/Transpose.html