LeviCivitaTensor
给出 d 维的列维-齐维塔(Levi-Civita)完全反对称张量.
更多信息
- LeviCivitaTensor[d] 给出一个 d 阶张量,每个维长度为 d.
- LeviCivitaTensor[d] 的元素是 0、-1、+1,可以从把 Signature 应用到元素指针而得到.
- LeviCivitaTensor 默认情况下给出一个 SparseArray 对象. LeviCivitaTensor[d,List] 返回正常数组,而 LeviCivitaTensor[d,SymmetrizedArray] 返回对称数组.
范例
打开所有单元 关闭所有单元基本范例 (1)
LeviCivitaTensor[4]Normal[%]范围 (5)
LeviCivitaTensor 返回一个稀疏矩阵:
LeviCivitaTensor[4]LeviCivitaTensor[2]//MatrixFormLeviCivitaTensor[3, List]LeviCivitaTensor[3].{x1, x2, x3}.{y1, y2, y3}Cross[{x1, x2, x3}, {y1, y2, y3}]以 SymmetrizedArray 对象形式给出更高维度的结果:
LeviCivitaTensor[15, SymmetrizedArray]应用 (2)
无穷小旋转矩阵
是具有 Levi-Civita 张量的角速度
的缩并:
ω = {ω1, ω2, ω3};
dR = TensorContract[LeviCivitaTensor[3, List]ω, {2, 4}]dR.{Fx, Fy, Fz} == ω⨯{Fx, Fy, Fz}m dR.{x, y, z} == m ω⨯{x, y, z}Simplify[MatrixExp[t dR] == RotationMatrix[t Sqrt[ω.ω], ω], ω∈Reals && ω1^2 + ω2^2 + ω3^2 > 0]霍吉对偶可以通过使用 Levi-Civita 张量的缩并计算:
A = SymmetrizedArray[pos_ :> a@@pos, {5, 5, 5}, Antisymmetric[{1, 2, 3}]]HodgeDual[A]% === 1 / 3!TensorContract[ALeviCivitaTensor[5], {{1, 4}, {2, 5}, {3, 6}}]Levi-Civita 张量的 TensorProduct 的缩并合并了 Symmetrize 和 HodgeDual:
B = SymmetrizedArray[pos_ :> a@@pos, {5, 5}, Antisymmetric[{1, 2}]]HodgeDual[Symmetrize[AB, Antisymmetric[Range[5]]]] == (1/5!)TensorContract[ABLeviCivitaTensor[5, SymmetrizedArray], {{1, 6}, {2, 7}, {3, 8}, {4, 9}, {5, 10}}]//Simplify在维度3中,Hodge duality 通常用于识别向量的叉积和 TensorWedge:
v = {vx, vy, vz};
w = {wx, wy, wz};
v⨯w == HodgeDual[vw] == TensorContract[(1/2!)TensorWedge[v, w]LeviCivitaTensor[3], {{1, 3}, {2, 4}}]属性和关系 (8)
列维-齐维塔张量的分量和 Signature 的值一致:
Array[Signature[{##}]&, {3, 3, 3}] == LeviCivitaTensor[3]LeviCivitaTensor[d,List] 等价于将 Normal 应用于 Levi-Civita 张量:
LeviCivitaTensor[5, List] === Normal[LeviCivitaTensor[5]]ByteCount[LeviCivitaTensor[8, List]]Levi-Civita 张量的 SparseArray 表示包含
个项:
ByteCount[LeviCivitaTensor[8, SparseArray]]SymmetrizedArray 表示只存储单个分量:
ByteCount[LeviCivitaTensor[8, SymmetrizedArray]]LeviCivitaTensor[d] 具有对称性 Antisymmetric[{1,…,d}]:
LeviCivitaTensor[4]TensorSymmetry[%]维度为
的 LeviCivitaTensor 是该维度中1的 HodgeDual:
LeviCivitaTensor[4, SymmetrizedArray] === HodgeDual[1, 4]判别式 Det[m] 是把 m 的行或者列缩并为 Levi-Civita 张量:
m = Array[μ, {3, 3}];
Det[m] === TensorContract[m[[1]]m[[2]]m[[3]]LeviCivitaTensor[3, List], {{1, 4}, {2, 5}, {3, 6}}]推广到更高维度,用 Inactive[TensorProduct] 提高效率:
det[m_] := With[{n = Length[m]},
Activate[TensorContract[Inactive[TensorProduct]@@Append[m, LeviCivitaTensor[n]], Table[{k, k + n}, {k, n}]]]];m = Array[μ, {6, 6}];
Det[m] == det[m]//Simplify如果
是
矩阵,则可用 TensorProduct 和 TensorContract 通过
计算 PfaffianDet[m] ,其中
为 LeviCivitaTensor[2n]:
m = Symmetrize[Table[a[i, j], {i, 4}, {j, 4}], Antisymmetric[{1, 2}]];
PfaffianDet[m] == (1/2^22!)TensorContract[mmLeviCivitaTensor[4], {{1, 5}, {2, 6}, {3, 7}, {4, 8}}]//Simplify推广到更高维度,用 Inactive[TensorProduct] 提高效率:
pfaf[m_] := With[{n = Length[m] / 2},
(1/2^nn!)Activate[TensorContract[Inactive[TensorProduct]@@Append[ConstantArray[m, n], LeviCivitaTensor[2n]], Table[{k, k + 2n}, {k, 2n}]]]]m = Symmetrize[Table[a[i, j], {i, 6}, {j, 6}], Antisymmetric[{1, 2}]];
PfaffianDet[m] == pfaf[m]//Simplify维度为
的 Cross 是把
个向量缩并为 Levi-Civita 张量:
α = Array[a, {4}];
β = Array[b, {4}];
γ = Array[c, {4}];
Cross[α, β, γ] === TensorContract[αβγLeviCivitaTensor[4, List], {{1, 4}, {2, 5}, {3, 6}}]相关指南
-
▪
- 张量
文本
Wolfram Research (2008),LeviCivitaTensor,Wolfram 语言函数,https://reference.wolfram.com/language/ref/LeviCivitaTensor.html (更新于 2014 年).
CMS
Wolfram 语言. 2008. "LeviCivitaTensor." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2014. https://reference.wolfram.com/language/ref/LeviCivitaTensor.html.
APA
Wolfram 语言. (2008). LeviCivitaTensor. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/LeviCivitaTensor.html 年
BibTeX
@misc{reference.wolfram_2026_levicivitatensor, author="Wolfram Research", title="{LeviCivitaTensor}", year="2014", howpublished="\url{https://reference.wolfram.com/language/ref/LeviCivitaTensor.html}", note=[Accessed: 28-October-2026]}
BibLaTeX
@online{reference.wolfram_2026_levicivitatensor, organization={Wolfram Research}, title={LeviCivitaTensor}, year={2014}, url={https://reference.wolfram.com/language/ref/LeviCivitaTensor.html}, note=[Accessed: 28-October-2026]}