ArraySimplify[expr]
对 expr 执行一系列数组变换,并返回找到的最简单的形式.
ArraySimplify[expr,assum]
使用假设 assum 进行简化.
ArraySimplify
ArraySimplify[expr]
对 expr 执行一系列数组变换,并返回找到的最简单的形式.
ArraySimplify[expr,assum]
使用假设 assum 进行简化.
更多信息和选项
- ArraySimplify 可用于简化符号数组表达式.
- ArraySimplify 利用数组运算的多线性,以及众多数组、矩阵和向量运算恒等式.
- 符号参数的维数可以通过假设或使用 ArraySymbol、MatrixSymbol 或 VectorSymbol 来指定.
- 未指定维数的符号参数被假定为其维数适合其所用函数. 在多参数 Listable 函数(如 Plus 或 Times)中,除非另有规定,否则假定所有参数都具有相同的维数. »
- ArraySimplify 有选项 Assumptions,指定要添加到 assum 的默认假设.
- Assumptions 选项的默认设置是 $Assumptions.
- 可用 Assuming 为 ArraySimplify 指定默认假设.
- 通过类似于 LeafCount 的度量来评估每种生成的形式的复杂度,但 ArraySymbol、MatrixSymbol、VectorSymbol、SymbolicZerosArray、SymbolicOnesArray、SymbolicIdentityArray 和 SymbolicDeltaProductArray 子表达式将被视为原子.
范例
打开所有单元 关闭所有单元基本范例 (3)
ArraySimplify[a.b + 2a.c]ArraySimplify[m.Inverse[m], Element[m, Matrices[{n, n}]]]ArraySimplify[D[(VectorSymbol["v", n] + x).(VectorSymbol["v", n] + x), x], Element[x, Complexes]]化简含有 MatrixSymbol 和 VectorSymbol 的表达式:
a = MatrixSymbol["a", {n, n}];
v = VectorSymbol["v", n];ArraySimplify[v.Transpose[a]]ArraySimplify[Inverse[Inverse[a]]]ArraySimplify[Det[2a] / Det[a]]范围 (42)
多线性运算 (12)
ArraySimplify[(2 ArraySymbol["a", {p, q, r}] + 3 ArraySymbol["b", {p, q, r}]) (4 ArraySymbol["c", {p, q, r}] + 5 ArraySymbol["d", {p, q, r}]) - 10ArraySymbol["a", {p, q, r}] ArraySymbol["d", {p, q, r}] - 8 ArraySymbol["a", {p, q, r}] ArraySymbol["c", {p, q, r}]]线性组合的 Dot 乘积:
ArraySimplify[2a.b + 3a.c]线性组合的 ArrayDot 乘积:
ArraySimplify[ArrayDot[2a, 3b + 5c, 2] + ArrayDot[a, 7c, 2]]线性组合的 TensorProduct:
ArraySimplify[TensorProduct[2a, 3b, 5c] + 2TensorProduct[a, 5b, 7c]]线性组合的 KroneckerProduct:
ArraySimplify[KroneckerProduct[a + b, c + d] - KroneckerProduct[a + b, c - d]]线性组合的 TensorWedge:
ArraySimplify[TensorWedge[a, b, c] - TensorWedge[a, 2d, c]]线性组合的 Cross 乘积:
ArraySimplify[Cross[2a + 3b, 5a + 7b]]线性组合的 Tr:
ArraySimplify[Tr[2a + 3b + 4c] - 2Tr[a + 2c]]线性组合的 TensorContract:
ArraySimplify[TensorContract[a + 2b, {{2, 3}}] + TensorContract[a - 3b, {{2, 3}}]]线性组合的 HodgeDual:
ArraySimplify[HodgeDual[s a + t b] - t HodgeDual[b], Element[s | t, Reals]]线性组合的 Transpose:
ArraySimplify[Transpose[a + b + c] + Transpose[2b - c]]线性组合的 ConjugateTranspose:
ArraySimplify[ConjugateTranspose[2 a + I b] + I ConjugateTranspose[b + c]]数组运算 (10)
Transpose、Conjugate 和 ConjugateTranspose:
ArraySimplify[Transpose[a, {1, 2, 3}]]ArraySimplify[Transpose[a, 1 <-> 2]]ArraySimplify[Transpose[a, Cycles[{{2, 1}}]]]ArraySimplify[ConjugateTranspose[a, {2, 1}]]ArraySimplify[Transpose[ConjugateTranspose[a]]]ArraySimplify[Conjugate[Conjugate[a]]]ArraySimplify[Conjugate[Transpose[a]]]ArraySimplify[Conjugate[ConjugateTranspose[a]]]ArraySimplify[ConjugateTranspose[Conjugate[a], 7]]ArraySimplify[ConjugateTranspose[Transpose[a, 3], 5]]ArraySimplify[Conjugate[a], Element[a, Arrays[{p, q, r}, Reals]]]ArraySimplify[ConjugateTranspose[a], Element[a, Arrays[{p, q, r}, Reals]]]化简 TensorProduct:
ArraySimplify[TensorProduct[a, b, c, d] / a / c, Element[a | c, Reals]]ArraySimplify[TensorProduct[a, b, TensorContract[c, {{1, 3}, {2, 5}}], d], Element[a, Vectors[n]] && Element[b, Arrays[{p, q, r}]]]化简 TensorWedge:
ArraySimplify[TensorWedge[Transpose[a], b, Transpose[c], d]]ArraySimplify[TensorWedge[a, b, ConjugateTranspose[c, 3 <-> 7], d]]Transpose、Conjugate 和 ConjugateTranspose 的 Tr:
ArraySimplify[Tr[Transpose[a]]]ArraySimplify[Tr[Conjugate[a]] == Conjugate[Tr[a]] == Tr[ConjugateTranspose[a]]]数组运算的 Conjugate:
ArraySimplify[Conjugate[a].Conjugate[b]]ArraySimplify[ArrayDot[Conjugate[a], Conjugate[b], 2]]ArraySimplify[Conjugate[TensorProduct[Conjugate[a], Conjugate[b]]]]ArraySimplify[KroneckerProduct[Conjugate[a], Conjugate[b]]]ArraySimplify[Conjugate[TensorWedge[a, Conjugate[b]]]]ArraySimplify[Cross[Conjugate[a], Conjugate[b]]]初等函数的 Conjugate 和 ConjugateTranspose:
ArraySimplify[Conjugate[Sin[VectorSymbol["v", n]]] - Sin[Conjugate[VectorSymbol["v", n]]]]ArraySimplify[ConjugateTranspose[ArcTan[Conjugate[a]]]]ArraySimplify[Conjugate[(MatrixSymbol["a", {n, n}])^k] - Conjugate[MatrixSymbol["a", {n, n}]]^k, k∈ℤ]ArraySimplify[ConjugateTranspose[t ^ Transpose[a]], t > 0]ArraySimplify[Transpose[a ^ b] == Transpose[a] ^ Transpose[b]]ArraySimplify[Transpose[Beta[a, b]] - Beta[Transpose[a], Transpose[b]], Element[a | b, Arrays[{k, m, n}]]]TensorProduct 的 Dot 乘积:
ArraySimplify[TensorProduct[a, b, c].TensorProduct[d, e] / c.d, Element[c | d, Vectors[n]]]ArraySimplify[TensorProduct[a, b, c].TensorProduct[d, e], Element[c | d, Matrices[{n, n}]]]标量值 ArrayDot 的交换律:
ArraySimplify[ArrayDot[a, b, 3] - ArrayDot[b, a, 3], Element[a | b, Arrays[{k, m, n}]]]ArraySimplify[a.SymbolicIdentityArray[{n}]]ArraySimplify[ArrayDot[a, SymbolicIdentityArray[{m, n, k}], 3]]ArraySimplify[MatrixPower[SymbolicIdentityArray[{n}], k], Element[k, Integers]]矩阵运算 (16)
ArraySimplify[Inverse[Inverse[a]]]ArraySimplify[a.Inverse[a], Element[a, Matrices[{n, n}]]]ArraySimplify[Inverse[a].a.b]ArraySimplify[b.a.Inverse[a]]ArraySimplify[PseudoInverse[PseudoInverse[a]]]ArraySimplify[a.PseudoInverse[a].a]ArraySimplify[ConjugateTranspose[PseudoInverse[a].a]]ArraySimplify[ConjugateTranspose[a.PseudoInverse[a]]]ArraySimplify[ConjugateTranspose[a].a.PseudoInverse[a]]ArraySimplify[PseudoInverse[a].a.ConjugateTranspose[a]]ArraySimplify[ConjugateTranspose[a].ConjugateTranspose[PseudoInverse[a]].PseudoInverse[a]]ArraySimplify[Adjugate[Adjugate[a]]Det[a] ^ 2, Element[a, Matrices[{n, n}]]]ArraySimplify[Adjugate[Inverse[a]]Det[a]]ArraySimplify[Inverse[Adjugate[a]]Det[a]]ArraySimplify[a.Adjugate[a] / Det[a], Element[a, Matrices[{n, n}]]]ArraySimplify[Adjugate[a].a / Det[a], Element[a, Matrices[{n, n}]]]ArraySimplify[a.Adjugate[a].b]ArraySimplify[MatrixPower[a, 1]]ArraySimplify[MatrixPower[a, -1]]ArraySimplify[MatrixPower[a, 0], Element[a, Matrices[{n, n}]]]ArraySimplify[MatrixPower[MatrixPower[a, k], m], Element[k | m, Integers]]ArraySimplify[MatrixPower[Inverse[a], -k], Element[k, Integers]]ArraySimplify[Inverse[MatrixPower[a, -7]]]ArraySimplify[a.MatrixPower[b, k - 1].b]ArraySimplify[a.MatrixPower[b, k].MatrixPower[b, m].c]标量倍数的 Inverse、MatrixPower、PseudoInverse 和 Adjugate:
ArraySimplify[9Inverse[3a]]ArraySimplify[MatrixPower[3a, k] / 3 ^ k]ArraySimplify[3PseudoInverse[3a]]ArraySimplify[Adjugate[3 a] / 3 ^ n, Element[a, Matrices[{n, n}]]]ArraySimplify[Inverse[a].Inverse[b].Inverse[c]]ArraySimplify[Adjugate[a].Adjugate[b].Adjugate[c]]Inverse、Adjugate 和 PseudoInverse 的 Transpose、Conjugate 和 ConjugateTranspose:
ArraySimplify[Transpose[Inverse[a]] == Inverse[Transpose[a]]]ArraySimplify[Conjugate[Inverse[a]] == Inverse[Conjugate[a]]]ArraySimplify[ConjugateTranspose[Inverse[a]] == Inverse[ConjugateTranspose[a]]]ArraySimplify[Transpose[Adjugate[a]] == Adjugate[Transpose[a]]]ArraySimplify[Conjugate[Adjugate[a]] == Adjugate[Conjugate[a]]]ArraySimplify[ConjugateTranspose[Adjugate[a]] == Adjugate[ConjugateTranspose[a]]]ArraySimplify[Transpose[PseudoInverse[a]] == PseudoInverse[Transpose[a]]]ArraySimplify[Conjugate[PseudoInverse[a]] == PseudoInverse[Conjugate[a]]]ArraySimplify[ConjugateTranspose[PseudoInverse[a]] == PseudoInverse[ConjugateTranspose[a]]]MatrixPower 的 Transpose、Conjugate 和 ConjugateTranspose:
ArraySimplify[Transpose[MatrixPower[Transpose[a], -7]]]ArraySimplify[Conjugate[MatrixPower[ConjugateTranspose[a], 3]]]ArraySimplify[ConjugateTranspose[MatrixPower[Conjugate[a], 5]]]MatrixExp 的 Transpose、Conjugate 和 ConjugateTranspose:
ArraySimplify[Transpose[MatrixExp[Transpose[a]]]]ArraySimplify[Conjugate[MatrixExp[ConjugateTranspose[a]]]]Dot 乘积的 Transpose 和 ConjugateTranspose:
ArraySimplify[Transpose[a].Transpose[b].Transpose[c], Element[a | b | c, Matrices[{n, n}]]]ArraySimplify[ConjugateTranspose[a].ConjugateTranspose[b].ConjugateTranspose[c], Element[a | b | c, Matrices[{n, n}]]]Dot 乘积的负指数 MatrixPower:
ArraySimplify[MatrixPower[Inverse[a].Inverse[b], -3], Element[a | b, Matrices[{n, n}]]]ArraySimplify[Tr[b.a.Inverse[b]], Element[a | b, Matrices[{n, n}]]]ArraySimplify[Tr[Inverse[b].a.b], Element[a | b, Matrices[{n, n}]]]ArraySimplify[Tr[b.c.a] - Tr[a.b.c], Element[a | b | c, Matrices[{n, n}]]]ArraySimplify[Tr[a.(Transpose[b]c)], Element[a | b | c, Matrices[{n, n}]]]Det 与矩阵运算一起使用:
ArraySimplify[Det[3a] / Det[a], Element[a, Matrices[{n, n}]]]ArraySimplify[Det[Transpose[a]]]ArraySimplify[Conjugate[Det[Conjugate[a]]]]ArraySimplify[Conjugate[Det[ConjugateTranspose[a]]]]ArraySimplify[1 / Det[Inverse[a]]]ArraySimplify[Det[Adjugate[a]] Det[a], Element[a, Matrices[{n, n}]]]ArraySimplify[Det[MatrixPower[a, 7]]]ArraySimplify[Det[b.a.Inverse[b]]]ArraySimplify[Det[Inverse[b].a.b]]ArraySimplify[Det[a.b.c] / Det[a], Element[a | b | c, Matrices[{n, n}]]]对 KroneckerProduct 参数进行矩阵运算:
ArraySimplify[KroneckerProduct[Transpose[a], Transpose[b], Transpose[c]], Element[a | b | c, Matrices[{m, n}]]]ArraySimplify[KroneckerProduct[ConjugateTranspose[a], ConjugateTranspose[b], ConjugateTranspose[c]], Element[a | b | c, Matrices[{m, n}]]]ArraySimplify[KroneckerProduct[Inverse[a], Inverse[b], Inverse[c]], Element[a | b | c, Matrices[{n, n}]]]ArraySimplify[KroneckerProduct[PseudoInverse[a], PseudoInverse[b], PseudoInverse[c]], Element[a | b | c, Matrices[{m, n}]]]ArraySimplify[Tr[KroneckerProduct[a, b, c]] / Tr[a], Element[a | b | c, Matrices[{n, n}]]]ArraySimplify[KroneckerProduct[a, b].KroneckerProduct[c, d].KroneckerProduct[e, f], Element[a | b | c | d | e | f, Matrices[{n, n}]]]ArraySimplify[Det[KroneckerProduct[a, b, c]] / (Det[a]^m n Det[b]^k n), Element[a, Matrices[{k, k}]] && Element[b, Matrices[{m, m}]] && Element[c, Matrices[{n, n}]]]ArraySimplify[KroneckerProduct[MatrixPower[a, k], MatrixPower[b, k], MatrixPower[c, k]], Element[a | b | c, Matrices[{n, n}]] && Element[k, Integers]]ArraySimplify[KroneckerProduct[a, b, KroneckerProduct[c, d], e], Element[a | b | c | d | e, Matrices[{m, n}]]]a = MatrixSymbol["a", {n, n}];ArraySimplify[a.MatrixExp[-b].Inverse[a].MatrixExp[a.b.Inverse[a]]]ArraySimplify[MatrixPower[MatrixExp[a], k].MatrixExp[k a], Element[k, Integers]]ArraySimplify[MatrixExp[s a].MatrixExp[t a], Element[s | t, Complexes]]ArraySimplify[Det[MatrixExp[a]] - Exp[Tr[a]]]向量运算 (4)
Transpose 一个向量:
ArraySimplify[Transpose[v], Element[v, Vectors[n]]]向量与矩阵的 Dot 乘积:
ArraySimplify[w.v - v.w, Element[v | w, Vectors[n]]]ArraySimplify[v.Transpose[a], Element[v, Vectors[n]] && Element[a, Matrices[{n, m}]]]ArraySimplify[v.Transpose[a].w, Element[v | w, Vectors[n]] && Element[a, Matrices[{n, n}]]]ArraySimplify[a.v.Transpose[b], Element[v, Vectors[n]] && Element[a, Matrices[{m, n}]] && Element[b, Matrices[{m, p}]]]ArraySimplify[Transpose[KroneckerProduct[u, v]], Element[u, Vectors[m]] && Element[v, Vectors[n]]]Cross 乘积:
ArraySimplify[Cross[a, a]]ArraySimplify[Cross[a + 2b, a + b, a - b]]ArraySimplify[Cross[a, d, c, b] + Cross[a, b, c, d]]选项 (1)
Assumptions (1)
ArraySimplify[Det[7 a] / Det[a], Element[a, Matrices[{n, n}]]]使用 Assumptions 假设:
ArraySimplify[Det[7a] / Det[a], Assumptions -> Element[a, Matrices[{n, n}]]]用 Assuming 指定默认假设:
Assuming[Element[a, Matrices[{n, n}]], ArraySimplify[Det[7a] / Det[a]]]应用 (1)
属性和关系 (2)
ArraySimplify 只执行数组变换:
v = VectorSymbol["v", n / 2 + m / 2];ArraySimplify[v - Transpose[v]]Simplify 还可执行其他变换:
Simplify[v - Transpose[v]]用 Assuming 来传递假设:
Assuming[Element[a, Matrices[{n, n}]], ArraySimplify[Transpose[Inverse[a]] - Inverse[Transpose[a]]]]相关指南
文本
Wolfram Research (2025),ArraySimplify,Wolfram 语言函数,https://reference.wolfram.com/language/ref/ArraySimplify.html.
CMS
Wolfram 语言. 2025. "ArraySimplify." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/ArraySimplify.html.
APA
Wolfram 语言. (2025). ArraySimplify. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/ArraySimplify.html 年
BibTeX
@misc{reference.wolfram_2026_arraysimplify, author="Wolfram Research", title="{ArraySimplify}", year="2025", howpublished="\url{https://reference.wolfram.com/language/ref/ArraySimplify.html}", note=[Accessed: 08-August-2026]}
BibLaTeX
@online{reference.wolfram_2026_arraysimplify, organization={Wolfram Research}, title={ArraySimplify}, year={2025}, url={https://reference.wolfram.com/language/ref/ArraySimplify.html}, note=[Accessed: 08-August-2026]}