JacobiP[n,a,b,x]
gives the Jacobi polynomial
.
JacobiP
JacobiP[n,a,b,x]
gives the Jacobi polynomial
.
Details
- Mathematical function, suitable for both symbolic and numerical manipulation.
- Explicit polynomials are given when possible.
satisfies the differential equation
. - The Jacobi polynomials are orthogonal with weight function
. - For certain special arguments, JacobiP automatically evaluates to exact values.
- JacobiP can be evaluated to arbitrary numerical precision.
- JacobiP automatically threads over lists.
- JacobiP[n,a,b,z] has a branch cut discontinuity in the complex z plane running from
to
. - JacobiP can be used with Interval and CenteredInterval objects. »
Examples
open all close allBasic Examples (7)
N[JacobiP[5, 1 / 2, 1, 3]]Compute the 2
Jacobi polynomial:
JacobiP[2, a, b, z]Plot
over a subset of the reals:
Plot[JacobiP[10, 2, 2, x], {x, -1, 1}]Plot over a subset of the complexes:
ComplexPlot3D[JacobiP[10, 2, 2, z], {z, -2 - 2I, 2 + 2I}, PlotLegends -> Automatic]Series expansion at the origin:
Series[JacobiP[5, 2, 2, x], {x, 0, 5}]Asymptotic expansion at Infinity:
Series[JacobiP[5, 2, 2, x], {x, ∞, 3}]//FullSimplifyAsymptotic expansion at a singular point:
Series[JacobiP[5, 2, 2, x], {x, -1, 3}]//FullSimplifyScope (40)
Numerical Evaluation (6)
N[JacobiP[3, 1 / 2, 1, 7]]JacobiP[2.3, 1 / 2, 1 / 8, 12]N[JacobiP[2 / 3, 1 / 2, 9, 7], 50]//ChopThe precision of the output tracks the precision of the input:
JacobiP[2, 2, 9, .33333333333333333333333333333]JacobiP[2 + 3 I, 1.2, .8, 7]Evaluate efficiently at high precision:
JacobiP[2, 1 / 2, 5 / 9, 9`100]//TimingJacobiP[3, 1 / 7, 5 / 9, 17`100000];//TimingCompute worst-case guaranteed intervals using Interval and CenteredInterval objects:
JacobiP[1 / 2, 2 / 3, 3 / 4, Interval[{1.1, 1.2}]]JacobiP[1 / 2, 2 / 3, 3 / 4, CenteredInterval[2, 1 / 100]]Or compute average-case statistical intervals using Around:
JacobiP[3, 1, 2, Around[2, 0.01]]Compute the elementwise values of an array:
JacobiP[3, 1, 2, {{1, 2}, {3, 4}}]Or compute the matrix JacobiP function using MatrixFunction:
MatrixFunction[JacobiP[3, 1, 2, #]&, {{1, 2}, {3, 4}}]//SimplifySpecific Values (6)
Values of JacobiP at fixed points:
Table[JacobiP[3, 1, 2, x ], {x, 1, 5}]JacobiP[0, 0, 0, 0]Find the first positive minimum of JacobiP[10,2,3,x]:
xmin = x /. Solve[D[JacobiP[10, 2, 3, x ], x] == 0 && 0 < x < 5, x][[1]]Plot[JacobiP[10, 2, 3, x ], {x, -1, 1}, Epilog -> Style[Point[{xmin, JacobiP[10, 2, 3, xmin ]}], PointSize[Large], Red]]Compute the associated JacobiP polynomial:
JacobiP[3, 2, 1, x]Compute the associated JacobiP polynomial for half-integer arguments:
JacobiP[1 / 2, 3 / 2, 3 / 2, x]Different JacobiP types give different symbolic forms:
Table[JacobiP[n, 1, 2, x], {n, 0, 3}]Visualization (4)
Plot the JacobiP function for various orders:
Plot[{JacobiP[1, 1, 1, x], JacobiP[2, 1, 1, x], JacobiP[3, 1, 1, x], JacobiP[4, 1, 1, x]}, {x, -.7, .7}]ComplexContourPlot[Re[JacobiP[5, 1, 1, z]], {z, -1 - I, 1 + I}, Contours -> 24]ComplexContourPlot[Im[JacobiP[5, 1, 1, z]], {z, -1 - I, 1 + I}, Contours -> 24]Plot as real parts of two parameters vary:
Plot3D[Re[JacobiP[n, 2, 1, z]], {n, 0, 5}, {z, -1, 1}]Types 2 and 3 of JacobiP function have different branch cut structures:
Plot3D[Im[JacobiP[2, 1, 1, x + I y]], {x, -1.5, 1.5}, {y, -0.5, 0.5}, Exclusions -> {{y == 0, Abs[x] > 1}}]Plot3D[Im[JacobiP[3, 1, 1, x + I y]], {x, -1.5, 1.5}, {y, -0.5, 0.5}, Exclusions -> {{y == 0, -1 < x < 1}}]Function Properties (11)
Domain of JacobiP of integer orders:
{FunctionDomain[JacobiP[1, 2, 2, z], z], FunctionDomain[JacobiP[2, 3, 4, z], z]}{FunctionDomain[JacobiP[1, 2, 2, z], z, Complexes], FunctionDomain[JacobiP[2, 3, 4, z], z, Complexes]}FunctionDomain[JacobiP[1 / 2, 1 / 2, 1 / 2, z], z]FunctionDomain[JacobiP[1 / 2, 1 / 2, 1 / 2, z], z, Complexes]The range for JacobiP of integer orders:
{FunctionRange[JacobiP[1, 2, 2, x], x, y], FunctionRange[JacobiP[2, 3, 4, x], x, y]}The range for complex values is the whole plane:
{FunctionRange[JacobiP[1, 2, 2, z], z, y, Complexes], FunctionRange[JacobiP[2, 3, 4, z], z, y, Complexes]}JacobiP has the mirror property
for integer
,
and
:
{JacobiP[1, 2, 2, Conjugate[z]] == Conjugate[JacobiP[1, 2, 2, z]], JacobiP[2, 3, 3, Conjugate[z]] == Conjugate[JacobiP[2, 3, 3, z]]}Jacobi polynomials are analytic functions:
FunctionAnalytic[JacobiP[10, 2, 2, x], x]However,
is not an analytic function of
for noninteger
,
and
:
FunctionAnalytic[JacobiP[1 / 2, 3 / 2, 5 / 2, x], x]FunctionMeromorphic[JacobiP[1 / 2, 3 / 2, 5 / 2, x], x]
is neither non-decreasing nor non-increasing:
FunctionMonotonicity[JacobiP[10, 2, 2, x], x]
is increasing on its real domain:
FunctionMonotonicity[{JacobiP[1 / 2, 1 / 2, 1 / 2, x], x > -1}, x, StrictInequalities -> True]FunctionInjective[JacobiP[10, 2, 2, x], x]FunctionInjective[JacobiP[1 / 2, 1 / 2, 1 / 2, x], x]Plot[{JacobiP[10, 2, 2, x], JacobiP[1 / 2, 1 / 2, 1 / 2, x], 1}, {x, -1, 1}, PlotRange -> 5]FunctionSurjective[JacobiP[10, 2, 2, x], x]FunctionSurjective[JacobiP[1 / 2, 1 / 2, 1 / 2, x], x]Plot[{JacobiP[10, 2, 2, x], JacobiP[1 / 2, 1 / 2, 1 / 2, x], -5}, {x, -1, 1}, PlotRange -> 10]
is neither non-negative nor non-positive:
FunctionSign[JacobiP[10, 2, 2, x], x]
has no singularities or discontinuities for integer
,
and
:
FunctionSingularities[JacobiP[10, 2, 2, x], x]FunctionDiscontinuities[JacobiP[10, 2, 2, x], x]
is neither convex nor concave:
FunctionConvexity[JacobiP[10, 2, 2, x], x]
is concave on its real domain:
FunctionConvexity[{JacobiP[1 / 2, 1 / 2, 1 / 2, x], x > -1}, x]TraditionalForm formatting:
JacobiP[n, α, β, x]//TraditionalFormDifferentiation (3)
First derivative with respect to x:
D[JacobiP[n, a, b, x], x]Higher derivatives with respect to x:
Table[D[JacobiP[n, a, b, x], {x, k}], {k, 1, 3}]//FullSimplifyPlot the higher derivatives with respect to x:
Plot[Evaluate[% /. {n -> 5, a -> 1 / 2, b -> -1 / 3}], {x, -1 / 2, 1 / 2}, PlotLegends -> {"First Derivative", "Second Derivative", "Third Derivative"}]Formula for the ![]()
derivative with respect to x:
D[JacobiP[n, a, b, x], {x, k}]// FullSimplifyIntegration (3)
Compute the indefinite integral using Integrate:
Integrate[JacobiP[n, a, b, x], x]FullSimplify[D[%, x]]Integrate[JacobiP[n, a, b, x], {x, 0, 4}]Integrate[x JacobiP[n, a, b, x], x]//FullSimplifyIntegrate[x JacobiP[n, a, b, x^2], {x, 0, 3}]//FullSimplifySeries Expansions (4)
Find the Taylor expansion using Series:
Series[JacobiP[n, a, b, x], {x, 0, 3}]Plots of the first three approximations around
:
terms = Normal@Table[Series[JacobiP[10, 3, 3, x], {x, 0, m}], {m, 1, 5, 2}];
Plot[{JacobiP[10, 3, 3, x], terms}, {x, -1, 1}, PlotRange -> {-20, 20}]Find the series expansion at Infinity:
Series[JacobiP[n, a, b, x], {x, Infinity, 1}]Find series expansion for an arbitrary symbolic direction
:
Series[JacobiP[n, a, b, x], {x, DirectedInfinity[z], 1}, Assumptions -> x > 0]//Normal// FullSimplifyTaylor expansion at a generic point:
Series[JacobiP[n, a, b, x], {x, x0, 2}]// FullSimplifyFunction Identities and Simplifications (3)
JacobiP is defined through the identity:
JacobiP[n, a, b, x] == (Pochhammer[a + 1, n]/n!) Hypergeometric2F1[-n, 1 + a + b + n, a + 1, (1/2)(1 - x)]//FullSimplifyNormalization of JacobiP:
JacobiP[n, a, b, 1] == Binomial[n + a, a]//FullSimplifyJacobiP[n, a, b - 1, x] - JacobiP[n, a - 1, b, x] == JacobiP[n - 1, a, b, x]//FullSimplifyJacobiP[n, a, b, x] - JacobiP[n, a - 1, b, x] == (x + 1/2)JacobiP[n - 1, a, b + 1, x]//FullSimplifyApplications (4)
Expected value of the number of real eigenvalues of a complex matrix:
ListLinePlot[Table[(1 - (-1) ^ n) / 2 + Sqrt[2]JacobiP[n - 2, 1 - n, 3 / 2, 3], {n, 100}]]Solve a Jacobi differential equation:
With[{n = 1},
(1 - x^2)Subscript[∂, {x, 2}]JacobiP[n, a, b, x] + (b - a - x(a + b + 2))Subscript[∂, x]JacobiP[n, a, b, x] + n(n + a + b + 1) JacobiP[n, a, b, x]]Expand[%]Solution of the Schrödinger equation with a Pöschl–Teller potential:
ψ[n_, a_, b_, x_] := Sin[x]^a + (1/2) Cos[x]^b + (1/2) JacobiP[n, a, b, Cos[2 x]]Calculate the energy eigenvalue from the differential equation:
Table[-D[ψ[n, a, b, x], x, x] / ψ[n, a, b, x] + (a^2 - (1/4)/Sin[x]^2) + (b^2 - (1/4)/Cos[x]^2) //FullSimplify, {n, 0, 5}]In an n-point Gauss–Radau quadrature rule, the value of one of the two extreme nodes is fixed, and the other n-1 nodes are computed from the roots of a certain Jacobi polynomial. Letting the leftmost node be the fixed node, compute the nodes and weights of an n-point Gauss–Radau quadrature rule:
n = 11;
tmp = Sort[x /. NSolve[JacobiP[n - 1, 0, 1, x], x], LessEqual];
radauNodes = Prepend[tmp, N[-1]]w1 = x |-> ((1 - x)(2n - 1)^2/(n(n - 1)JacobiP[n - 2, 0, 1, x])^2);
radauWeights = Prepend[w1[tmp], N[(2/n^2)]]Use the n-point Gauss–Radau quadrature rule to numerically evaluate an integral:
fun[x_] := (1/1 / 100 + (x - 3 / 10)^2) + (1/1 / 25 + (x - 9 / 10)^2) - 6a = 1 / 2;b = 1;
est1 = ((b - a/2)radauWeights).Map[fun, Rescale[radauNodes, {-1, 1}, {a, b}]]Compare the result of the Gauss–Radau quadrature with the result from NIntegrate:
est1 - NIntegrate[fun[x], {x, a, b}]Properties & Relations (2)
Use FunctionExpand to expand into other functions:
FunctionExpand[JacobiP[n, a, -n, z]]The generating function for JacobiP:
GeneratingFunction[JacobiP[n, a, b, c], n, x]Tech Notes
Related Guides
Related Links
History
Introduced in 1988 (1.0) | Updated in 2021 (13.0) ▪ 2022 (13.1)
Text
Wolfram Research (1988), JacobiP, Wolfram Language function, https://reference.wolfram.com/language/ref/JacobiP.html (updated 2022).
CMS
Wolfram Language. 1988. "JacobiP." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2022. https://reference.wolfram.com/language/ref/JacobiP.html.
APA
Wolfram Language. (1988). JacobiP. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/JacobiP.html
BibTeX
@misc{reference.wolfram_2026_jacobip, author="Wolfram Research", title="{JacobiP}", year="2022", howpublished="\url{https://reference.wolfram.com/language/ref/JacobiP.html}", note=[Accessed: 13-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_jacobip, organization={Wolfram Research}, title={JacobiP}, year={2022}, url={https://reference.wolfram.com/language/ref/JacobiP.html}, note=[Accessed: 13-June-2026]}