Laplacian
Details
- Laplacian is also known as Laplace–Beltrami operator. When applied to vector fields, it is also known as vector Laplacian.
- Laplacian[f,x] can be input as
f. The character ∇ can be typed as
del
or \[Del]. The list of variables x and the 2 are entered as a subscript and superscript, respectively. - An empty template
can be entered as
del2
, and
moves the cursor from the subscript to the main body. - All quantities that do not explicitly depend on the variables given are taken to have zero partial derivative.
- Laplacian[f,{x1,x2,…}] yields a result with the same dimensions as f.
- In Laplacian[f,{x1,…,xn},chart], if f is an array, it must have dimensions {n,…,n}. The components of f are interpreted as being in the orthonormal basis associated to chart.
- For coordinate charts on Euclidean space, Laplacian[f,{x1,…,xn},chart] can be computed by transforming f to Cartesian coordinates, computing the ordinary Laplacian and transforming back to chart. »
- A property of Laplacian is that if chart is defined with metric g, expressed in the orthonormal basis, then Laplacian[g,{x1,…,xn},chart] gives zero. »
- Coordinate charts in the third argument of Laplacian can be specified as triples {coordsys,metric,dim} in the same way as in the first argument of CoordinateChartData. The short form in which dim is omitted may be used.
- Laplacian[f,VectorSymbol[…]] computes the Laplacian with respect to the vector symbol. »
- Laplacian works with SparseArray and structured array objects.
Examples
open all close allBasic Examples (4)
The Laplacian in three-dimensional Cartesian coordinates:
Laplacian[f[x, y, z], {x, y, z}]The Laplacian in three-dimensional cylindrical coordinates:
Laplacian[f[r, θ, z], {r, θ, z}, "Cylindrical"]//ExpandThe Laplacian in two-dimensional polar coordinates:
Laplacian[Sin[r ^ 2], {r, θ}, "Polar"]Use
del
to enter ∇,
for the list of subscripted variables, and
to enter the 2:
Subsuperscript[∇, {x, y, z}, 2]x ^ 2Use
del2
to enter the template
, fill in the variables, press
, and fill in the function:
Subsuperscript[∇, {x, y}, 2]x ^ 2Scope (6)
Laplacian applies to arrays of arbitrary rank:
Laplacian[{Sin[x / y], Cos[y / x]}, {x, y}]//SimplifyLaplacian[{{x y, x y ^ 2}, {x ^ 2y, x ^ 2y ^ 2}}, {x, y}]In a curvilinear coordinate system, a vector with constant components may have a nonzero Laplacian:
Laplacian[{1, 1, 1}, {r, θ, ϕ}, "Spherical"]//ExpandA Laplacian specifying metric, coordinate system, and parameters:
Laplacian[f[ϕ, ψ], {ϕ, ψ}, {{"Elliptic", {a}}, "Euclidean"}]//SimplifyLaplacian works on curved spaces:
Laplacian[f[u, v], {u, v}, {"Stereographic", {"Sphere", r}}]//SimplifyThe Laplacian of the coordinate vector is SymbolicZerosArray[{n}]:
x = VectorSymbol["x", n, Reals];Laplacian[x, x]The Laplacian of the squared norm is expressed in terms of SymbolicIdentityArray[{n}]:
Laplacian[x.x, x]Use TensorExpand to simplify to the expected result, namely twice the dimension:
%//TensorExpandThe Laplacian of the squared norm in n dimensions:
Laplacian[Inactive[Sum][(Subscript[x, i])^2, {i, n}], Inactive[Table][Subscript[x, j], {j, n}]]Activate the sum to get the simple result:
Simplify[Activate[%]]Applications (3)
Poisson's equation in spherical coordinates:
eqn = Expand[Laplacian[V[r, θ, φ], {r, θ, φ}, "Spherical"] == 4 π ρ[r, θ, φ]]Solve for a radially symmetric charge distribution
:
DSolve[{eqn /. {V -> (V[#1]&), ρ -> (#1 ^ n&)}}, V[r], r]The Laplacian on the unit sphere:
Laplacian[f[θ, φ], {θ, φ}, {"Standard", {"Sphere", 1}}]The spherical harmonics
are eigenfunctions of this operator with eigenvalue
:
Table[Laplacian[SphericalHarmonicY[l, 0, θ, φ], {θ, φ}, {"Standard", {"Sphere", 1}}] / SphericalHarmonicY[l, 0, θ, φ], {l, 10}]//SimplifyTable[-l(l + 1), {l, 10}]The generalization of the Coulomb potential—the electric potential of a point charge—to n dimensions is:
coulomb = Inactive[Sum][Subscript[x, i] ^ 2, {i, 1, n}] ^ ((2 - n) / 2)Since the charge density is only nonzero at the origin, the Laplacian must be equal to zero everywhere else:
Laplacian[coulomb, Inactive[Table][Subscript[x, j], {j, 1, n}]]FullSimplify[%, K[1]∈Integers && 1 ≤ K[1] ≤ n]Activating the result in specific dimensions and combining denominators shows the result is zero:
Together[Activate[Table[%, {n, 3, 10}]]]This result can also be obtained in each dimension using spherical coordinates:
Table[Laplacian[r ^ (2 - n), Prepend[Table[θ[i], {i, n - 1}], r], "Hyperspherical"], {n, 3, 10}]Properties & Relations (8)
Laplacian preserves the shape of an array:
Laplacian[{f[x, y], g[x, y]}, {x, y}]Laplacian[{{a[x, y], b[x, y]}, {c[x, y], d[x, y]}}, {x, y}]The Laplacian is equal to the divergence of the gradient:
Div[Grad[{Sqrt[r ^ 2 + z ^ 2], 0, Sqrt[r ^ 2 + z ^ 2]}, {r, t, z}, "Cylindrical"], {r, t, z}, "Cylindrical"]//SimplifyLaplacian[{Sqrt[r ^ 2 + z ^ 2], 0, Sqrt[r ^ 2 + z ^ 2]}, {r, t, z}, "Cylindrical"]//SimplifySince Grad uses an orthonormal basis, the Laplacian of a scalar equals the trace of the double gradient:
Laplacian[r ^ 4Sin[2t] ^ 2z ^ 2, {r, t, z}, "Cylindrical"]Tr[Grad[Grad[r ^ 4Sin[2t] ^ 2z ^ 2, {r, t, z}, "Cylindrical"], {r, t, z}, "Cylindrical"]]For higher-rank arrays, this is the contraction of the last two indices of the double gradient:
F = Array[Subscript[f, ##][r, t, z]&, {3, 3}]rank = TensorRank[F]Laplacian[F, {x, y, z}, "Cylindrical"] == TensorContract[Grad[Grad[F, {x, y, z}, "Cylindrical"], {x, y, z}, "Cylindrical"], {{rank + 1, rank + 2}}]Compute Laplacian in a Euclidean coordinate chart c by transforming to and then back from Cartesian coordinates:
TransformedField["Polar" -> "Cartesian", f[r, θ], {r, θ} -> {x, y}]Laplacian[%, {x, y}]//SimplifyFullSimplify[TransformedField["Cartesian" -> "Polar", %, {x, y} -> {r, θ}], r > 0 && -π < θ < π]The result is the same as directly computing Laplacian[f,{x1,…,xn},c]:
Laplacian[f[r, θ], {r, θ}, "Polar"]//FullSimplifyThe Laplacian of an array equals the Laplacian of its components only in Cartesian coordinates:
Laplacian[{x ^ 2 + y ^ 2, x ^ 2 + y ^ 2}, {x, y}, "Cartesian"] == Map[Laplacian[#, {x, y}, "Cartesian"]&, {x ^ 2 + y ^ 2, x ^ 2 + y ^ 2}]Laplacian[{r ^ 2, 0}, {r, θ}, "Polar"] == Map[Laplacian[#, {r, θ}, "Polar"]& , {r ^ 2, 0}]//SimplifyIf chart is defined with metric g, expressed in the orthonormal basis, Laplacian[g,{x1,…,xn},chart] is zero:
Laplacian[IdentityMatrix[3], {r, θ, φ}, "Spherical"]For a vector field
in three-dimensional flat space, the Laplacian is equal to
:
lap = Laplacian[{r Sin[θ], r Cos[θ], r Sin[2θ]}, {r, θ, ϕ}, "Spherical"]//Simplifygraddiv = Grad[Div[{r Sin[θ], r Cos[θ], r Sin[2θ]}, {r, θ, ϕ}, "Spherical"], {r, θ, ϕ}, "Spherical"]//Simplifycurlcurl = Curl[Curl[{r Sin[θ], r Cos[θ], r Sin[2θ]}, {r, θ, ϕ}, "Spherical"], {r, θ, ϕ}, "Spherical"]//SimplifySimplify[lap == graddiv - curlcurl]In a flat space of dimension
, the Laplacian of a vector field equals
. For
:
lap = Laplacian[{f[r, t], g[r, t]}, {r, t}, "Polar"]//Expand;graddiv = Grad[Div[{f[r, t], g[r, t]}, {r, t}, "Polar"], {r, t}, "Polar"]//Expand;curlcurl = Curl[Curl[{f[r, t], g[r, t]}, {r, t}, "Polar"], {r, t}, "Polar"]//Expand;Simplify[lap == graddiv + curlcurl]Laplacian preserves the symmetry structure of SymmetrizedArray objects:
sa = SymmetrizedArray[{{1, 1, 1} -> x ^ 2, {1, 1, 2} -> y ^ 2, {2, 1, 2} -> x y}, {2, 2, 2}, Symmetric]The Laplacian has the same symmetry as the input:
lap = Laplacian[sa, {x, y}]Interactive Examples (1)
View expressions for the Laplacian of a scalar function in different coordinate systems:
systems = {{"BipolarCylindrical", {a}}, {"Bispherical", {a}}, "Cartesian", "CircularParabolic", {"Conical", {b, c}}, "Cylindrical", {"EllipticCylindrical", {a}}, {"OblateSpheroidal", {a}}, "ParabolicCylindrical", {"ProlateSpheroidal", {a}}, "Spherical", {"Toroidal", {a}}};Manipulate[Block[{f, vars = ToExpression /@ CoordinateChartData[{Coordinates, 3}, "StandardCoordinateNames"]},
Inactive[Laplacian][f@@vars, vars] == Simplify@Laplacian[f@@vars, vars, {Coordinates}]], {{Coordinates, "Cartesian"}, systems}]See Also
Grad Div Curl CoordinateChartData D DSolve NDSolve DEigensystem NDEigensystem DEigenvalues NDEigenvalues
Characters: \[Del]
Tech Notes
Text
Wolfram Research (2012), Laplacian, Wolfram Language function, https://reference.wolfram.com/language/ref/Laplacian.html (updated 2024).
CMS
Wolfram Language. 2012. "Laplacian." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2024. https://reference.wolfram.com/language/ref/Laplacian.html.
APA
Wolfram Language. (2012). Laplacian. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/Laplacian.html
BibTeX
@misc{reference.wolfram_2026_laplacian, author="Wolfram Research", title="{Laplacian}", year="2024", howpublished="\url{https://reference.wolfram.com/language/ref/Laplacian.html}", note=[Accessed: 13-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_laplacian, organization={Wolfram Research}, title={Laplacian}, year={2024}, url={https://reference.wolfram.com/language/ref/Laplacian.html}, note=[Accessed: 13-June-2026]}