ArrayExpand[expr]
expr の記号配列演算を展開する.
ArrayExpand[expr,assum]
仮定 assum を使って展開する.
ArrayExpand
ArrayExpand[expr]
expr の記号配列演算を展開する.
ArrayExpand[expr,assum]
仮定 assum を使って展開する.
詳細とオプション
- ArrayExpandは,記号配列操作を展開するために使うことができる.
- ArrayExpandは,配列演算の多重線形性,および多数の配列,行列,ベクトル演算の恒等式を利用する.
- 記号引数の次元性は,連想を通して,または,ArraySymbol,MatrixSymbolあるいはVectorSymbolを使って指定できる.
- 次元性が指定されていない記号引数は,それが使用されている関数において適切な次元の配列であると想定される.PlusやTimesのように引数が複数あるListable関数については,特に指定がない限りすべての引数が同じ次元であると想定される. »
- 次は,使用可能なオプションである.
-
Assumptions $Assumptions assum に追加するデフォルトの仮定 GenerateConditions False パラメータについての条件を生成するかどうか - Assumingを使ってArrayExpandのデフォルトの仮定が指定できる.
例題
すべて開く すべて閉じる例 (3)
スコープ (45)
多重線形演算 (12)
ArrayExpand[(2 ArraySymbol["a", {p, q, r}] + 3 ArraySymbol["b", {p, q, r}]) (4 ArraySymbol["c", {p, q, r}] + 5 ArraySymbol["d", {p, q, r}])]線形結合のDot積:
ArrayExpand[(2a + 3b).(4c + 5d)]線形結合のArrayDot積:
ArrayExpand[ArrayDot[2a + 3b, 4c + 5d, 2]]線形結合のTensorProduct:
ArrayExpand[TensorProduct[2a + 3b, 4c + 5d, 6e]]線形結合のKroneckerProduct:
ArrayExpand[KroneckerProduct[2a + 3b, 4c + 5d]]線形結合のTensorWedge:
ArrayExpand[TensorWedge[2a + 3b, 4c + 5d]]線形結合のCross積:
ArrayExpand[Cross[2a + 3b, 4c + 5d]]線形結合のTr:
ArrayExpand[Tr[2a + 3b + 4c]]線形結合のTensorContract:
ArrayExpand[TensorContract[2a + 3b + 4c + 5d, {{2, 3}}]]線形結合のHodgeDual:
ArrayExpand[HodgeDual[s a + t b], Element[s | t, Reals]]線形結合のTranspose:
ArrayExpand[Transpose[s a + t b], Element[s | t, Reals]]線形結合のConjugateTranspose:
ArrayExpand[ConjugateTranspose[2 a + I b + (3 + 2I)c]]配列演算 (6)
Transpose,Conjugate,ConjugateTransposeのTr:
ArrayExpand[Tr[Transpose[a]]]ArrayExpand[Tr[Conjugate[a]]]ArrayExpand[Tr[ConjugateTranspose[a]]]配列演算のConjugate:
ArrayExpand[Conjugate[a.b]]ArrayExpand[Conjugate[ArrayDot[a, b, 2]]]ArrayExpand[Conjugate[TensorProduct[a, b]]]ArrayExpand[Conjugate[KroneckerProduct[a, b]]]ArrayExpand[Conjugate[TensorWedge[a, b]]]ArrayExpand[Conjugate[Cross[a, b]]]初等関数のConjugateとConjugateTranspose:
ArrayExpand[Conjugate[Sin[VectorSymbol["v", n]]]]ArrayExpand[ConjugateTranspose[ArcTan[a]]]ArrayExpand[Conjugate[(MatrixSymbol["a", {n, n}])^k], k∈ℤ]ArrayExpand[ConjugateTranspose[t ^ a], t > 0]ArrayExpand[Transpose[a ^ b]]ArrayExpand[Transpose[Beta[a, b]]]ArrayExpand[TensorProduct[a, b, c].TensorProduct[d, e], Element[c | d, Vectors[n]]]ArrayExpand[TensorProduct[a, b, c].TensorProduct[d, e], Element[c | d, Matrices[{n, n}]]]スカラー値ArrayDotの交換性:
ArrayExpand[ArrayDot[b, a, 3], Element[a | b, Arrays[{m, n, p}]]]行列演算 (13)
スカラー倍数のInverse,MatrixPower,PseudoInverse,Adjugate:
ArrayExpand[Inverse[3a]]ArrayExpand[MatrixPower[3a, n]]ArrayExpand[PseudoInverse[3a]]ArrayExpand[Adjugate[3 a], Element[a, Matrices[{n, n}]]]ArrayExpand[Inverse[a.b.c], Element[a | b | c, Matrices[{n, n}]]]ArrayExpand[Adjugate[a.b.c], Element[a | b | c, Matrices[{n, n}]]]Inverse,Adjugate,PseudoInverseのTranspose,Conjugate,ConjugateTranspose:
ArrayExpand[Transpose[Inverse[a]]]ArrayExpand[Conjugate[Inverse[a]]]ArrayExpand[ConjugateTranspose[Inverse[a]]]ArrayExpand[Transpose[Adjugate[a]]]ArrayExpand[Conjugate[Adjugate[a]]]ArrayExpand[ConjugateTranspose[Adjugate[a]]]ArrayExpand[Transpose[PseudoInverse[a]]]ArrayExpand[Conjugate[PseudoInverse[a]]]ArrayExpand[ConjugateTranspose[PseudoInverse[a]]]MatrixPowerのTranspose,Conjugate,ConjugateTranspose:
ArrayExpand[Transpose[MatrixPower[a, -7]]]ArrayExpand[Conjugate[MatrixPower[a, 3]]]ArrayExpand[ConjugateTranspose[MatrixPower[a, 5]]]MatrixExpのTranspose,Conjugate,ConjugateTranspose:
ArrayExpand[Transpose[MatrixExp[a]]]ArrayExpand[Conjugate[MatrixExp[a]]]ArrayExpand[ConjugateTranspose[MatrixExp[a]]]Dot積のTransposeとConjugateTranspose:
ArrayExpand[Transpose[a.b.c], Element[a | b | c, Matrices[{n, n}]]]ArrayExpand[ConjugateTranspose[a.b.c], Element[a | b | c, Matrices[{n, n}]]]線形結合のMatrixPower:
ArrayExpand[MatrixPower[2a + 3b, 3]]Dot積の負の指数MatrixPower:
ArrayExpand[MatrixPower[a.b, -3], Element[a | b, Matrices[{n, n}]]]ArrayExpand[Tr[b.a.Inverse[b]], Element[a | b, Matrices[{n, n}]]]ArrayExpand[Tr[Inverse[b].a.b], Element[a | b, Matrices[{n, n}]]]ArrayExpand[Tr[b.c.a], Element[a | b | c, Matrices[{n, n}]]]ArrayExpand[Tr[a.(Transpose[b]c)], Element[a | b | c, Matrices[{n, n}]]]行列演算で構成されたDet:
ArrayExpand[Det[3a], Element[a, Matrices[{n, n}]]]ArrayExpand[Det[Transpose[a]]]ArrayExpand[Det[Conjugate[a]]]ArrayExpand[Det[ConjugateTranspose[a]]]ArrayExpand[Det[Inverse[a]]]ArrayExpand[Det[Adjugate[a]], Element[a, Matrices[{n, n}]]]ArrayExpand[Det[MatrixPower[a, 7]]]ArrayExpand[Det[b.a.Inverse[b]]]ArrayExpand[Det[Inverse[b].a.b]]ArrayExpand[Det[a.b.c], Element[a | b | c, Matrices[{n, n}]]]KroneckerProduct引数の行列演算:
ArrayExpand[Transpose[KroneckerProduct[a, b, c]], Element[a | b | c, Matrices[{m, n}]]]ArrayExpand[ConjugateTranspose[KroneckerProduct[a, b, c]], Element[a | b | c, Matrices[{m, n}]]]ArrayExpand[Inverse[KroneckerProduct[a, b, c]], Element[a | b | c, Matrices[{n, n}]]]ArrayExpand[PseudoInverse[KroneckerProduct[a, b, c]], Element[a | b | c, Matrices[{m, n}]]]ArrayExpand[Tr[KroneckerProduct[a, b, c]], Element[a | b | c, Matrices[{n, n}]]]ArrayExpand[KroneckerProduct[a, b].KroneckerProduct[c, d].KroneckerProduct[e, f], Element[a | b | c | d | e | f, Matrices[{n, n}]]]ArrayExpand[Det[KroneckerProduct[a, b, c]], Element[a, Matrices[{k, k}]] && Element[b, Matrices[{m, m}]] && Element[c, Matrices[{n, n}]]]ArrayExpand[MatrixPower[KroneckerProduct[a, b, c], k], Element[a | b | c, Matrices[{n, n}]] && Element[k, Integers]]ArrayExpand[KroneckerProduct[a, b, KroneckerProduct[c, d], e], Element[a | b | c | d | e, Matrices[{m, n}]]]MatrixExpを含む式:
ArrayExpand[MatrixExp[a.b.Inverse[a]]]ArrayExpand[MatrixExp[k a], Element[k, Integers]]ArrayExpand[MatrixExp[(s + t)a], Element[s | t, Complexes]]ArrayExpand[Det[MatrixExp[a]]]ベクトル演算 (4)
ベクトルのTranspose:
ArrayExpand[Transpose[v], Element[v, Vectors[n]]]ベクトルと行列のDot積を正規化する:
ArrayExpand[w.v, Element[v | w, Vectors[n]]]ArrayExpand[v.a, Element[v, Vectors[n]] && Element[a, Matrices[{n, m}]]]ArrayExpand[v.a.w, Element[v | w, Vectors[n]] && Element[a, Matrices[{n, n}]]]ArrayExpand[a.v.b, Element[v, Vectors[n]] && Element[a, Matrices[{m, n}]] && Element[b, Matrices[{m, p}]]]ArrayExpand[a.v.b.w, Element[v, Vectors[n]] && Element[w, Vectors[p]] && Element[a, Matrices[{m, n}]] && Element[b, Matrices[{m, p}]]]ArrayExpand[Transpose[KroneckerProduct[u, v]], Element[u, Vectors[m]] && Element[v, Vectors[n]]]Cross積:
ArrayExpand[Cross[a, b, c].Cross[d, e, f]]ArrayExpand[Cross[a, b, Cross[u, v, w, z], c]]簡約 (10)
Inverseの簡約:
ArrayExpand[Inverse[Inverse[a]]]ArrayExpand[a.Inverse[a], Element[a, Matrices[{n, n}]]]ArrayExpand[Inverse[a].a.b]ArrayExpand[b.a.Inverse[a]]PseudoInverseの簡約:
ArrayExpand[PseudoInverse[PseudoInverse[a]]]ArrayExpand[a.PseudoInverse[a].a]ArrayExpand[ConjugateTranspose[PseudoInverse[a].a]]ArrayExpand[ConjugateTranspose[a.PseudoInverse[a]]]ArrayExpand[ConjugateTranspose[a].a.PseudoInverse[a]]ArrayExpand[PseudoInverse[a].a.ConjugateTranspose[a]]ArrayExpand[ConjugateTranspose[a].ConjugateTranspose[PseudoInverse[a]].PseudoInverse[a]]ArrayExpand[PseudoInverse[ConjugateTranspose[a].a]]Adjugateの簡約:
ArrayExpand[Adjugate[Adjugate[a]], Element[a, Matrices[{n, n}]]]ArrayExpand[Adjugate[Inverse[a]]]ArrayExpand[Inverse[Adjugate[a]]]ArrayExpand[a.Adjugate[a], Element[a, Matrices[{n, n}]]]ArrayExpand[Adjugate[a].a, Element[a, Matrices[{n, n}]]]ArrayExpand[a.Adjugate[a].b]MatrixPowerの簡約:
ArrayExpand[MatrixPower[a, 1]]ArrayExpand[MatrixPower[a, -1]]ArrayExpand[MatrixPower[a, 0], Element[a, Matrices[{n, n}]]]ArrayExpand[MatrixPower[MatrixPower[a, k], m], Element[k | m, Integers]]ArrayExpand[MatrixPower[Inverse[a], k], Element[k, Integers]]ArrayExpand[Inverse[MatrixPower[a, k]], Element[k, Integers]]ArrayExpand[a.MatrixPower[b, k].b]ArrayExpand[a.MatrixPower[b, k].MatrixPower[b, m].c]Transpose,Conjugate,ConjugateTransposeの簡約:
ArrayExpand[Transpose[a, {1, 2, 3}]]ArrayExpand[Transpose[a, 1 <-> 2]]ArrayExpand[Transpose[a, Cycles[{{2, 1}}]]]ArrayExpand[ConjugateTranspose[a, {2, 1}]]ArrayExpand[Transpose[ConjugateTranspose[a]]]ArrayExpand[Conjugate[Conjugate[a]]]ArrayExpand[Conjugate[Transpose[a]]]ArrayExpand[Conjugate[ConjugateTranspose[a]]]ArrayExpand[ConjugateTranspose[Conjugate[a], 7]]ArrayExpand[ConjugateTranspose[Transpose[a, 3], 5]]ArrayExpand[Conjugate[a], Element[a, Arrays[{p, q, r}, Reals]]]ArrayExpand[ConjugateTranspose[a], Element[a, Arrays[{p, q, r}, Reals]]]ArrayExpand[IdentityMatrix[n]]ArrayExpand[a.SymbolicIdentityArray[{n}]]ArrayExpand[ArrayDot[a, SymbolicIdentityArray[{m, n, k}], 3]]ArrayExpand[MatrixPower[SymbolicIdentityArray[{n}], k], Element[k, Integers]]TensorProductの簡約:
ArrayExpand[TensorProduct[a, b, c, d], Element[a | c, Reals]]ArrayExpand[TensorProduct[a, b, TensorContract[c, {{1, 3}, {2, 5}}], d], Element[a, Vectors[n]] && Element[b, Arrays[{p, q, r}]]]ArrayExpand[TensorProduct[a, b, Transpose[c], d], Element[a, Vectors[n]] && Element[b, Arrays[{p, q, r}]]]ArrayExpand[TensorProduct[a, b, ConjugateTranspose[c, {3, 2, 1}], d], Element[a, Vectors[n]] && Element[b, Arrays[{p, q, r}]]]Crossの簡約:
ArrayExpand[v.Cross[v, w]]ArrayExpand[Cross[a, d, c, b]]TensorWedgeの簡約:
ArrayExpand[TensorWedge[a, b, Transpose[c], d]]ArrayExpand[TensorWedge[a, b, ConjugateTranspose[c, 3 <-> 7], d]]MatrixExpの簡約:
ArrayExpand[MatrixExp[MatrixLog[a]]]ArrayExpand[MatrixExp[SymbolicZerosArray[{n, n}]]]オプション (2)
Assumptions (1)
ArrayExpand[Det[7 a], Element[a, Matrices[{n, n}]]]Assumptionsオプションを使う:
ArrayExpand[Det[7a], Assumptions -> Element[a, Matrices[{n, n}]]]Assumingを使ってデフォルトの仮定を指定する:
Assuming[Element[a, Matrices[{n, n}]], ArrayExpand[Det[7a]]]GenerateConditions (1)
デフォルト設定のGenerateConditionsFalseのとき,引数の次元は式が明確に定義されるために必要な方程式を満足するものであると暗黙のうちに想定される:
u = VectorSymbol["u", k];
v = VectorSymbol["v", m];
w = VectorSymbol["w", n];ArrayExpand[(u + v).w]GenerateConditionsTrueとすると,必要な条件が明示的に与えられる:
ArrayExpand[(u + v).w, GenerateConditions -> True]特性と関係 (1)
NonCommutativeExpandを使って一般的な非可換多項式を展開する:
NonCommutativeExpand[(a + 2b)**(3a + 4b)]alg = NonCommutativeAlgebra[<|"Multiplication" -> mult, "Addition" -> add|>];NonCommutativeExpand[mult[add[a, 2b], add[3a, 4b]], alg]関連するガイド
テキスト
Wolfram Research (2025), ArrayExpand, Wolfram言語関数, https://reference.wolfram.com/language/ref/ArrayExpand.html.
CMS
Wolfram Language. 2025. "ArrayExpand." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/ArrayExpand.html.
APA
Wolfram Language. (2025). ArrayExpand. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/ArrayExpand.html
BibTeX
@misc{reference.wolfram_2026_arrayexpand, author="Wolfram Research", title="{ArrayExpand}", year="2025", howpublished="\url{https://reference.wolfram.com/language/ref/ArrayExpand.html}", note=[Accessed: 15-August-2026]}
BibLaTeX
@online{reference.wolfram_2026_arrayexpand, organization={Wolfram Research}, title={ArrayExpand}, year={2025}, url={https://reference.wolfram.com/language/ref/ArrayExpand.html}, note=[Accessed: 15-August-2026]}