Div
詳細
- Divは縮約共変微分としても知られている.
- Div[f,x]は ∇x.f で入力することができる.記号 ∇ は
del
または\[Del]とタイプする.記号 . は通常のピリオドである.変数 x のリストは下付き文字として入力する. - 空のテンプレート ∇. は
del.
と入力する.
を使ってカーソルを下付き文字から移動することができる. - 与えられた変数に明示的に依存しない数量はすべて,その偏導関数が0であるとみなされる.
- Div[f,x]では,f が次元{n1,…,nk-1,nk}の配列であれば,x の長さは nkでなければならない.結果の発散は次元{n1,…,nk-1}の配列である.
- Div[f,{x1,…,xn},chart]では,f が配列であれば,その次元は{n,…,n}でなければならない.f の成分は chart に関連する正規直交基底内にあると解釈される.
- ユークリッド空間の座標グラフについては,Div[f,{x1,…,xn},chart]は f をデカルト座標に変換し,通常の発散を計算してから再び chart に変換し直すことで計算できる. »
- Divの特性に,chart が正規直交基底で表された測定値 g によって定義されるなら,Div[g,{x1,…,xn},chart]はゼロを与えるといものがある. »
- Divの第3引数の座標チャートは,トリプル{coordsys,metric,dim}として,CoordinateChartDataの第1引数におけるのと同様に指定することができる.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"]
del
を使って ∇ を,
で下付き文字の変数のリストを入力する:
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}}]//FullSimplifySymbolicIdentityArray[{n}]によって表現された,
のそれ自身についての発散:
x = VectorSymbol["x", n, Reals];Div[x, x]TensorExpandを適用すると,期待される答,つまり次元,が与えられる:
TensorExpand[%]Div[x.x x, x]//FullSimplify
の一定のアフィン変換の発散は,その線形部分のトレースに等しい:
Div[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]}
についてのコーシー・リーマン方程式は,発散と回転のない
に等しい:
Div[w[x, y], {x, y}] == 0Curl[w[x, y], {x, y}] == 0階数2の応力テンソルの発散は静的弾性媒体の各点における力に等しい:
σ[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"]2引数の形 Div[f,vars]は,基本的にその第1引数において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,coordsys]は,事実上,Gradに最後の2つのスロットで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はStructuredArrayオブジェクトの構造を保つ:
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 Language. 2012. "Div." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2024. https://reference.wolfram.com/language/ref/Div.html.
APA
Wolfram Language. (2012). Div. Wolfram Language & System Documentation Center. Retrieved from 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: 15-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: 15-September-2026]}