Div
更多信息
- Div 亦称为 contracted 协变导数.
- Div[f,x] 可以输入为 ∇x.f. 符号 ∇ 可以通过键入
del
或 \[Del] 得到,符号 . 是一个普通英文句号. 变量 x 的列表可以通过下标输入. - 空模板 ∇. 可以通过输入
del.
得到,
将光标从下标处移到主体部分. - 不显式依赖于给定的变量的所有数量的偏导数为零.
- 在 Div[f,x] 中,如果 f 是维度为 {n1,…,nk-1,nk} 的数组,那么 x 的长度必须是 nk,而所得散度是维度为{n1,…,nk-1} 的数组.
- 在 Div[f,{x1,…,xn},chart] 中,如果 f 是一个数组,那么它的维度必须是 {n,…,n}. f 的分量被解释为位于与 chart 相关联的标准正交基.
- 对于欧几里得空间上的坐标系,可通过将 f 转换至直角坐标系来计算 Div[f,{x1,…,xn},chart],算出散度后再转换回 chart. »
- Div 的一个属性是如果 chart 是用度规 g 定义的,以正交形式表示,则 Div[g,{x1,…,xn},chart] 给出零. »
- 可用三元组 {coordsys,metric, dim}(与 CoordinateChartData 的第一个参数相同的方式)指定 Div 的第三个参数中的坐标系. 可以使用忽略了 dim 的简短形式.
- Div[f,VectorSymbol[…]] 计算相对于向量符号的散度. »
- Div 适用于 SparseArray 和结构化数组对象.
范例
打开所有单元 关闭所有单元基本范例 (4)
Div[{f[x, y, z], g[x, y, z], h[x, y, z]}, {x, y, z}]Div[{f[r, θ, z], g[r, θ, z], h[r, θ, z]}, {r, θ, z}, "Cylindrical"]Div[{r Sin[θ], -r Cos[θ]}, {r, θ}, "Polar"]Subscript[∇, {x, y, z}].{y, -x, z}使用
del.
输入模板 ∇.,填入变量,按
,并填在函数中:
Subscript[∇, {x, y, z}].{y, -x, z}范围 (7)
Div[{1, 1, 1}, {r, θ, ϕ}, "Spherical"]//ExpandDiv[{{x y, x y^2, x y^3}, {x^2y, x^2y^2, x^2y^3}, {x^3y, x^3y^2, x^3y^3}}, {x, y, z}]Div[{f[ϕ, ψ], 1}, {ϕ, ψ}, {{"Confocal", {a, b}}, "Euclidean"}]//SimplifyDiv 适用于曲线空间:
Div[{f[u, v, w], g[u, v, w], h[u, v, w]}, {u, v, w}, {"Stereographic", {"Sphere", 1}}]//FullSimplify
关于其自身的散度可以用 SymbolicIdentityArray[{n}] 表示:
x = VectorSymbol["x", n, Reals];Div[x, x]应用 TensorExpand 得到了预期的答案,即维度:
TensorExpand[%]Div[x.x x, x]//FullSimplifyDiv[MatrixSymbol["m", {n, n}, ℝ]. x + VectorSymbol["y", n, ℝ], x]//TensorExpandx = VectorSymbol["x", n];
Div[x ^ k, x]//ArraySimplifyBlock[{n = 3}, ComponentExpand[%]]Div[Inactive[Table][Subscript[x, i], {i, 1, n}], Inactive[Table][Subscript[x, j], {j, 1, n}]]Activate[%]应用 (3)
Div[{y , -x }, {x, y}]StreamPlot[{y, -x}, {x, -1, 1}, {y, -1, 1}]w[x_, y_] = {u[x, y], -v[x, y]}
的 Cauchy–Riemann 方程等价于无发散和无旋度的
:
Div[w[x, y], {x, y}] == 0Curl[w[x, y], {x, y}] == 0σ[r_, θ_, φ_] = SymmetrizedArray[{{1, 1} -> σrr[r, θ, φ], {1, 2} -> σrθ[r, θ, φ], {1, 3} -> σrφ[r, θ, φ], {2, 2} -> σθθ[r, θ, φ], {2, 3} -> σθφ[r, θ, φ], {3, 3} -> σφφ[r, θ, φ]}, {3, 3}, Symmetric[All]];
Div[σ[r, θ, φ], {r, θ, φ}, "Spherical"]//Simplify//Normal属性和关系 (9)
Div 把数组的阶数减少 1:
Div[{a[x, y], b[x, y]}, {x, y}]Div[{{a[x, y], b[x, y]}, {c[x, y], d[x, y]}}, {x, y}]Div[{f1,f2,…,fn},{x1,x2,…,xn}] 是 f 的梯度的迹:
Div[{x ^ 2y, z x y, z ^ 3}, {x, y, z}] == Tr[Grad[{x ^ 2y, z x y, z ^ 3}, {x, y, z}]]通过转换为直角坐标然后再转换回来,计算欧几里得坐标系 c 中的 Div:
TransformedField["Polar" -> "Cartesian", {f[r, θ], g[r, θ]}, {r, θ} -> {x, y}]Div[%, {x, y}]//SimplifyFullSimplify[TransformedField["Cartesian" -> "Polar", %, {x, y} -> {r, θ}], r > 0 && -π < θ < π]与直接计算 Div[f,{x1,…,xn},c] 的结果一样:
Div[{f[r, θ], g[r, θ]}, {r, θ}, "Polar"]双变量形式 Div[f,vars] 在第一个变量中是 Listable 的:
(rect = {{a[x, y], b[x, y]}, {c[x, y], d[x, y]}, {e[x, y], f[x, y]}})//MatrixFormDiv[rect, {x, y}]Div[#, {x, y}]& /@ rectDiv[array,vars,sys] 实际上是在最后两个位置上先使用 Grad,然后使用 TensorContract:
Div[{{a[r, θ], b[r, θ]}, {c[r, θ], d[r, θ]}}, {r, θ}, "Polar"]TensorContract[Grad[{{a[r, θ], b[r, θ]}, {c[r, θ], d[r, θ]}}, {r, θ}, "Polar"], {{2, 3}}]但是,该操作通常不是 Listable:
Div[#, {r, θ}, "Polar"]& /@ {{a[r, θ], b[r, θ]}, {c[r, θ], d[r, θ]}}如果 chart 是用度规 g 定义的,以正交形式表示,则 Div[g,{x1,…,xn},chart] 给出零:
Div[IdentityMatrix[3], {r, θ, φ}, "Spherical"]Div 压缩数组最内层的索引,这对于矩阵而言意味着作用于行:
(square = {{a[x, y], b[x, y]}, {c[x, y], d[x, y]}})//MatrixFormDiv[square, {x, y}]若要压缩成一个不同的索引,使用 Grad 再使用一个显式 TensorContract:
TensorContract[Grad[{{a[x, y], b[x, y]}, {c[x, y], d[x, y]}}, {x, y}], {{1, 3}}]在矩阵情况下,作用于列可以通过首先对矩阵 square 求转置实现:
Div[Transpose@square, {x, y}]Div[Curl[{f[x, y, z], g[x, y, z], h[x, y, z]}, {x, y, z}], {x, y, z}]Div[Curl[f[x, y, z], {x, y, z}], {x, y, z}]//NormalDiv[Inactive[Curl][{f[x, y, z], g[x, y, z], h[x, y, z]}, {x, y, z}], {x, y, z}]Div[Inactive[Curl][f[x, y, z], {x, y, z}], {x, y, z}]//NormalDiv 保持 SymmetrizedArray 对象的结构:
sa = SymmetrizedArray[{{1, 1, 1} -> x ^ 2, {1, 1, 2} -> y ^ 2, {2, 1, 2} -> x y}, {2, 2, 2}, Symmetric]div = Div[sa, {x, y}]互动范例 (1)
systems = {{"Cartesian", "Polar", "Bipolar", "PlanarParabolic"}, {"Cartesian", "Cylindrical", "Spherical", "CircularParabolic", "BipolarCylindrical"}, {"Cartesian", "Hyperspherical"}, {"Cartesian", "Hyperspherical"}};Manipulate[
If[Not@MemberQ[systems[[dimension - 1]], system], system = "Cartesian"];
Block[{f, varNames, vars, vec},
varNames = CoordinateChartData[{system, dimension}, "StandardCoordinateNames"];
vars = ToExpression /@ varNames;
vec = Subscript[f, HoldForm[#]]@@vars& /@ varNames;
Inactive[Div][vec, vars] == Simplify@Div[vec, vars, system]],
{dimension, Range[2, 5]},
{{system, "Cartesian"}, systems[[dimension - 1]], ControlType -> SetterBar}, SaveDefinitions -> True]技术笔记
-
▪
- 向量分析
文本
Wolfram Research (2012),Div,Wolfram 语言函数,https://reference.wolfram.com/language/ref/Div.html (更新于 2024 年).
CMS
Wolfram 语言. 2012. "Div." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2024. https://reference.wolfram.com/language/ref/Div.html.
APA
Wolfram 语言. (2012). Div. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/Div.html 年
BibTeX
@misc{reference.wolfram_2026_div, author="Wolfram Research", title="{Div}", year="2024", howpublished="\url{https://reference.wolfram.com/language/ref/Div.html}", note=[Accessed: 13-September-2026]}
BibLaTeX
@online{reference.wolfram_2026_div, organization={Wolfram Research}, title={Div}, year={2024}, url={https://reference.wolfram.com/language/ref/Div.html}, note=[Accessed: 13-September-2026]}