または
は,
の共役転置を与える.
ConjugateTranspose
または
は,
の共役転置を与える.
詳細とオプション
- ConjugateTranspose[m]はConjugate[Transpose[m]]と等価である. »
は,
ct
あるいは\[ConjugateTranspose]として入力できる.- ConjugateTranspose[m]は
として与えることもできる.
は
hc
あるいは\[HermitianConjugate]として入力できる. - ConjugateTranspose[m]は,StandardFormとTraditionalFormでは
とフォーマットされる. - ConjugateTranspose[m,spec]はConjugate[Transpose[m,spec]]を返す. »
例題
すべて開く すべて閉じる例 (3)
スコープ (11)
行列 (6)
m = (| | |
| ------ | ------ |
| a | b |
| 1 + 2I | 3 + 4I |)MatrixForm[ConjugateTranspose[m]]r = {{1.5, 2.2 I, 3.1 + 4.4I}};
c = Transpose[r]{r//MatrixForm, c//MatrixForm}Transpose[c]ConjugateTranspose[vec]は項を共役するが vec の形状は変えない:
ConjugateTranspose[{1.5, 2.2 I, 3.1 + 4.4I}]ConjugateTransposeは記号行列に使うことができる:
ct = ConjugateTranspose[{{a + b I, c + d I}}]ComplexExpandを使ってすべての変数が実数であると仮定する:
ComplexExpand[ct]ConjugateTransposeは恒等行列は変えずに置く:
ConjugateTranspose[IdentityMatrix[3]]//MatrixForms = SparseArray[{{i_, i_} -> 1, {i_, j_} /; Abs[i - j] == 1 -> i + j I}, {5, 5}]MatrixForm[s]ConjugateTranspose[s]MatrixForm[%]SymmetrizedArrayオブジェクトを転置する:
sa = Symmetrize[RandomComplex[1 + I, {10, 10}], Antihermitian[{1, 2}]]ConjugateTranspose[sa]行列は反対称行列なので,結果はもとのオブジェクトを負にしたものである:
% === -sa配列 (5)
3階配列の最初の2つのレベルの共役転置は,事実上,この配列をベクトルの行列として扱う:
a = Array[x, {2, 3, 2}];
a//MatrixFormConjugateTranspose[a]//MatrixForma = ArrayReshape[(1 + 2I)Range[24], {2, 3, 4}]ConjugateTranspose[a, {1, 3, 2}]ConjugateTranspose[a, {3, 2, 1}]ConjugateTranspose[a, {2, 1, 3}]TwoWayRule表記を使って転置を行う:
a = RandomComplex[1 + I, {2, 3, 4, 5}];ConjugateTranspose[a, TwoWayRule[1, 4]] === ConjugateTranspose[a, {4, 2, 3, 1}]ConjugateTranspose[a, 2 4] === ConjugateTranspose[a, {1, 4, 3, 2}]a = ArrayReshape[Range[24]I, {1, 2, 3, 4}]ConjugateTranspose[a, 2 3]Dimensions[%]ConjugateTranspose[Array[a, {3, 3}], {1, 1}]アプリケーション (10)
行列分解 (4)
m = RandomComplex[1 + I, {4, 4}];
のQRDecompositionを求める:
{q, r} = QRDecomposition[m];Chop[q.q^]q^.r - m//Chop行列
のSchurDecompositionを計算する:
m = {{1.5, I}, {2.3I, -2 + .5I}};{q, t} = SchurDecomposition[m];Chop[q.ConjugateTranspose[q]]m - q.t.ConjugateTranspose[q]//Chop行列
のSingularValueDecompositionを計算する:
m = {{1, I}, {2, 3 + 4I}};{u, Σ, v} = SingularValueDecomposition[m];行列
と
はユニタリ行列なので,その逆行列はその共役転置である:
MatrixForm /@ FullSimplify[{u.u, v.v}]m == u.Σ.ConjugateTranspose[v]//FullSimplifydims = {3, 5};
m = RandomComplex[1 + I, dims];{λ, vvecs} = Eigensystem[m.m];s = Sqrt[DeleteCases[Chop[λ], 0]]Σ = DiagonalMatrix[s, 0, dims];
MatrixForm[Chop[Σ]]v = Transpose[vvecs];u = m.Transpose[(Take[vvecs, Length[s]]/s)];u.u//Chopv.v//Chopu.Σ.v - m//Chop特殊行列 (6)
エルミート行列は
に従い,反エルミート行列は
に従う.次の行列はエルミート行列である:
h = (| | | |
| --- | ------ | ------ |
| 1 | 2I | 3 |
| -2I | 4 | 5 + 6I |
| 3 | 5 - 6I | 7 |);h == ConjugateTranspose[h]HermitianMatrixQで確認する:
HermitianMatrixQ[h]a = (| | | |
| -- | ------- | ------ |
| 0 | 1 | 2I |
| -1 | 0 | 3 + 4I |
| 2I | -3 + 4I | 0 |);a == -ConjugateTranspose[a]AntihermitianMatrixQで確認する:
AntihermitianMatrixQ[a]
なら行列はユニタリ行列である.行列
がユニタリ行列かどうかを調べる:
u = {{(1/2), (ISqrt[3]/2)}, {(ISqrt[3]/2), (1/2)}};u.u == u.u == IdentityMatrix[2]UnitaryMatrixQを使ってこれがユニタリ行列であることを確認する:
UnitaryMatrixQ[u]エルミート行列は
のようにユニタリ対角化可能である.ただし,
は実対角行列では
はユニタリ行列である.次の行列がエルミート行列であることを確認し,次にこれを対角化する:
(h = {{1, 0, -2 * I}, {0, 1, 0}, {2 * I, 0, 3}})//MatrixFormConjugateTranspose[h] == h対角化するために,まず
の固有値を計算し,それを対角行列に入れる:
d = DiagonalMatrix[Eigenvalues[h]]v = FullSimplify[Normalize /@ Eigenvectors[h]]u = Transpose[v];
h == u.d.ConjugateTranspose[u]//FullSimplify反エルミート行列は,
なのでユニタリ対角化可能である.ただし,
は複素対角行列で
はユニタリ行列である.次の行列が反エルミート行列であることを確認して対角化する:
(a = {{0, 1, -2 * I}, {-1, 0, 0}, {-2 * I, 0, 0}})//MatrixFormConjugateTranspose[a] == -a対角化するために,まず
の固有値を計算し,それを対角行列に入れる:
d = DiagonalMatrix[Eigenvalues[a]]v = FullSimplify[Normalize /@ Eigenvectors[a]]u = Transpose[v];
a == u.d.ConjugateTranspose[u]//FullSimplifyユニタリ行列はそれ自体が
のようにユニタリ対角化可能である.ただし,
はユニタリ行列で
は単位円上にある項を持つ対角行列である.次の行列がユニタリ行列であることを確認して対角化する:
(u = {{(2/3), -(1/3), (2/3)}, {(2/3), (2/3), -(1/3)}, {-(1/3), (2/3), (2/3)}})//MatrixFormConjugateTranspose[u] == Inverse[u]{λ, vλ} = Eigensystem[u]Abs[λ]d = DiagonalMatrix[λ]v = Transpose[Normalize /@ vλ];u == v.d.ConjugateTranspose[v]//FullSimplify
なら行列
は正規行列と呼ばれる.正規行列は,
(
は対角行列で
はユニタリ行列)のようにユニタリ対角化可能である最も一般的な行列である.エルミート行列
は,等式の両辺が単純に
なので,どれも正規行列である:
TensorExpand[h.h == h.h == h.h, Assumptions -> h∈Matrices[{n, n}, Complexes, Hermitian[{1, 2}]]]同様に,反エルミート行列は,等式の両辺が単純に
なので,すべて正規行列である:
TensorExpand[a.a == a.a == -a.a, Assumptions -> a∈Matrices[{n, n}, Complexes, Antihermitian[{1, 2}]]]ユニタリ行列は,定義
に代入すると両辺に恒等行列が与えられるので,正規行列である:
TensorReduce[u.u == u.u /. u -> Inverse[u], Assumptions -> u∈Matrices[{n, n}, Complexes]](n = {{5 + I, -2I}, {2, 4 + 2I}})//MatrixFormn.ConjugateTranspose[n] == ConjugateTranspose[n].nNormalMatrixQを使って確認する:
NormalMatrixQ[n]
のような正規行列はEigensystemを使ってユニタリ対角化できる:
{λ, v} = Eigensystem[{n}](d = DiagonalMatrix[λ])//MatrixFormu = Transpose[Normalize /@ v];
UnitaryMatrixQ[u]n == u.d.ConjugateTranspose[u]特性と関係 (10)
ConjugateTranspose[m]はConjugate[Transpose[m]]に等しい:
m = RandomComplex[1 + I, {2, 3}];ConjugateTranspose[m] - Conjugate[Transpose[m]]ConjugateTransposeは
に従う:
a = RandomComplex[1, {3, 3}];
ConjugateTranspose[ConjugateTranspose[a]] == a互換行列
と
についてConjugateTransposeは
に従う:
a = RandomComplex[1, {3, 4}];
b = RandomComplex[1, {4, 5}];
(a.b) == b.a行列の反転はConjugateTransposeと可換である.すなわち
:
a = {{-(1/25), (12I/25), -(7I/25)}, {-(7I/25), (9/25), (1/25)}, {(13/75), -(31I/75), (16/75)}};Inverse[ConjugateTranspose[a]] == ConjugateTranspose[Inverse[a]]特殊行列の多くはConjugateTransposeのもとの特性で定義される.エルミート行列は
という特性を持つ:
h = (| | |
| ----- | ----- |
| 1 | 2 + I |
| 2 - I | 3 |);
{ConjugateTranspose[h] == h, HermitianMatrixQ[h]}u = (| | |
| ----------- | ----------- |
| (Sqrt[3]/2) | (I/2) |
| (I/2) | (Sqrt[3]/2) |);
{ConjugateTranspose[u] == Inverse[u], UnitaryMatrixQ[u]}m = RandomComplex[1 + I, {3, 4}];h = m.m^;h == h^m = RandomComplex[1 + I, {4, 4}];h = m + m^;h == h^a = m - m^;
a == -a^Transpose[{{}}]次元{1,0}の置換は{0,1}で次元{0,1}の式はないので,結果は再度{{}}にはならない:
Dimensions[{{}}]ConjugateTranspose[a]は配列の最初の2レベルを転置する:
a = RandomComplex[10 + 5I, {5, 6, 7}];ConjugateTranspose[a] == ConjugateTranspose[a, {2, 1, 3}] == ConjugateTranspose[a, 1 <-> 2]ConjugateTranspose[a,perm]は次元Permute[Dimensions[a],perm]の配列を返す:
a = RandomInteger[10, {2, 3, 4, 5}];perm = RandomSample[Range[4]]Dimensions[ConjugateTranspose[a, perm]]Permute[Dimensions[a], perm]テクニカルノート
-
▪
- 行列演算の基礎
関連するガイド
-
▪
- 行列の操作 ▪
- 複素数 ▪
- GPU計算 ▪
- NVIDIAを使ったGPU計算
履歴
2004 で導入 (5.1) | 2025 で更新 (14.3)
テキスト
Wolfram Research (2004), ConjugateTranspose, Wolfram言語関数, https://reference.wolfram.com/language/ref/ConjugateTranspose.html (2025年に更新).
CMS
Wolfram Language. 2004. "ConjugateTranspose." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2025. https://reference.wolfram.com/language/ref/ConjugateTranspose.html.
APA
Wolfram Language. (2004). ConjugateTranspose. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/ConjugateTranspose.html
BibTeX
@misc{reference.wolfram_2026_conjugatetranspose, author="Wolfram Research", title="{ConjugateTranspose}", year="2025", howpublished="\url{https://reference.wolfram.com/language/ref/ConjugateTranspose.html}", note=[Accessed: 15-September-2026]}
BibLaTeX
@online{reference.wolfram_2026_conjugatetranspose, organization={Wolfram Research}, title={ConjugateTranspose}, year={2025}, url={https://reference.wolfram.com/language/ref/ConjugateTranspose.html}, note=[Accessed: 15-September-2026]}