intsolve
solve a linear integral equation
Calling Sequence
Parameters
Options
Description
Examples
References
Compatibility
intsolve( Inteqn, funcn, options )
Inteqn
-
linear integral equation in funcn
funcn
unknown function to be solved for
options
(optional) one or more equations of the form keyword=value (see below)
basis : list or set of basis functions or the keyword polynomial; specifies the basis functions to be used to construct a collocation solution; the default is polynomial
includeendpoints : either true or false; specifies if the nodes generated by a Chebyshev or Legendre polynomial for the collocation method should include the endpoints of the interval; the default is false
interval : range of the form algebraic..algebraic; specifies the interval used to generate collocation nodes when different than the interval of integration
method : one of the keywords collocation, differentialequation, eigenfunction, Laplace, and Neumann; specifies the method to be used
nodes : list or set of values for the nodes or one of the keywords chebyshev, chebyshevgausslobatto, legendre, legendregausslobatto, and regular (uniform); specifies the type of nodes to be used for the collocation method; the default is regular
numeric : either true or false; specifies if the collocation method is to seek a numerical solution
order : positive integer; specifies the order of the series approximation to use with the Neumann method or the degree of polynomial to use with the collocation method
The intsolve command is able to find exact closed-form solutions to various types of integral equations as explained below. The solution is returned as an explicit equation with the unknown function in the left-hand side and the solution in the right-hand side. In some cases arbitrary constants are returned in the solution; they are represented as c1,c2,…,cn, as in the output of dsolve. When the solution contains integrals, they are represented with the inert Int.
By default, intsolve converts, using the differentialequation method, the linear integral equation into an equivalent ODE problem with initial values (ODE-IVP), then attempts solving this problem; if it fails, it uses an eigenfunction approach. The method Laplace is optional and tackles the problem using a Laplace transform. The collocation and Neumann methods are also optional, and compute approximations to the solution.
intsolve can recognize Fredholm and Volterra integral equations of the following kinds:
Fredholm equation of the first kind (F1):
∫abk⁡x,y⁢f⁡yⅆy=g⁡x
Fredholm equation of the second kind (F2):
f⁡x+∫abk⁡x,y⁢f⁡yⅆy=g⁡x
Fredholm equation of the third (homogeneous) kind (F3):
f⁡x+∫abk⁡x,y⁢f⁡yⅆy=0
Volterra equation of the first kind (V1):
∫axk⁡x,y⁢f⁡yⅆy=g⁡x
Volterra equation of the second kind (V2):
f⁡x+∫axk⁡x,y⁢f⁡yⅆy=g⁡x
Volterra equation of the third (homogeneous) kind (V3):
f⁡x+∫axk⁡x,y⁢f⁡yⅆy=0
The Laplace method is applicable to equations of V1, V2 and V3 type. One advantage to using this option is that the integral equation may contain the Dirac or Heaviside functions. This method is not suitable for finding a solution when the equation does not possess a convolution type kernel.
The collocation method finds an approximate solution by choosing a finite number of collocation nodes/points over the interval, and determining the polynomial (or linear combination of other expressions) that satisfy the integral equation at the nodes. A few notes:
The order option is used to determine the degree of the polynomial when (1) neither a list of basis functions nor a list of nodes is passed and (2) the option is explicitly passed to the command and a list of nodes is passed but not a list of basis functions.
Over the interval −1,1, Chebyshev nodes are the zeros of the ChebyshevT polynomial of appropriate order. Similarly, Legendre nodes are the zeros of the LegendreP polynomial of appropriate order. For Chebyshev-Gauss-Lobatto and Legendre-Gauss-Lobatto nodes, the values are the zeros of the derivative of the corresponding polynomial of required order. The order of the polynomial used to compute the nodes is chosen so that the includeendpoints option is respected and the necessary total number of nodes is achieved. When the interval in the integral equation is not −1,1, the nodes are appropriately shifted.
When numeric=true is explicitly passed for method=collocation, floating-point arithmetic is used to construct and solve the collocation equations. When numeric=false, on the other hand, all floating-point numbers present in the integral equation are converted to fractions. When the numeric option is not passed, numeric=true is inferred from the presence of floats in the integral equation or the choice of Chebyshev, Chebyshev-Gauss-Lobatto, Legendre, or Legendre-Gauss-Lobatto type nodes.
Suppose numeric=true. When Digits<=15 and UseHardwareFloats is not false, then Digits is set (internally) to 15. Moreover, if there are no parameters present in the integral equation, hardware floats are used when solving for the collocation coefficients. When Digits>15 or UseHardwareFloats=false, on the other hand, the value of Digits is not changed.
The speed of the solver is determined by the number and complexity of the equations involved. For example, integration (numeric or symbolic) needs to be performed at each of the collocation points.
The Neumann method is applicable to equations of V2, F2, and some of V1 type. The default order of the Neumann series in the solution is Order - this value can be overridden by passing the optional argument order = n, where n is a positive integer.
When method is not specified, intsolve checks if the integral within the integral equation is of the form of a Fourier-Sine, Fourier-Cosine, or Laplace transform. That is, it checks if the integral equation can be written
∫0∞f⁡y⁢a⁡y⁢b⁡x⁢yⅆy=c⁡x
where b⁡z is one of sin⁡z, cos⁡z, or ⅇ−z. In this case, intsolve will apply the appropriate inverse integral transform.
infolevel[intsolve] := 1,2,3 or 5 gives descriptive information on the progress of the computation. 5 may result in excessive printing.
Example 1
Consider the following example:
eq1≔p⁡x−12⁢Int⁡x⁢y⁢p⁡y,y=0..1=56⁢x
eq1≔p⁡x−∫01x⁢y⁢p⁡yⅆy2=5⁢x6
intsolve⁡eq1,p⁡x
p⁡x=x
If we instead use the 'Neumann' method, an approximation to this result is returned:
intsolve⁡eq1,p⁡x,method=Neumann
p⁡x=279935⁢x279936
intsolve⁡eq1,p⁡x,method=Neumann,order=20
p⁡x=21936950640377855⁢x21936950640377856
Example 2
Computing the solution and verifying the result:
eq2≔f⁡x=x+1+Int⁡1+2⁢x−y⁢f⁡y,y=0..x
eq2≔f⁡x=x+1+∫0x1+2⁢x−2⁢y⁢f⁡yⅆy
intsolve⁡eq2,f⁡x
f⁡x=ⅇ2⁢x
To verify this solution, transform it first into a procedure:
f=unapply⁡rhs⁡,x
f=x↦ⅇ2⋅x
eval⁡eq2,
ⅇ2⁢x=x+1+∫0x1+2⁢x−2⁢y⁢ⅇ2⁢yⅆy
value⁡
ⅇ2⁢x=ⅇ2⁢x
Example 3
For some type of problems the solution obtained using the Laplace method contains Dirac functions:
eq3≔Int⁡exp⁡a⁢x−y⁢f⁡y,y=0..x=1
eq3≔∫0xⅇa⁢x−y⁢f⁡yⅆy=1
intsolve⁡eq3,f⁡x,method=Laplace
f⁡x=Dirac⁡x−a
Example 4
Another type of integral equation automatically solved using the eigenfunction approach:
eq4≔f⁡x+b⁢Int⁡x⁢y+x2⁢y2⁢f⁡y,y=−1..1=d⁡x
eq4≔f⁡x+b⁢∫−11x2⁢y2+x⁢y⁢f⁡yⅆy=d⁡x
intsolve⁡eq4,f⁡x
f⁡x=∫−11−5⁢x2⁢b⁢y22⁢b+5−3⁢x⁢b⁢y2⁢b+3⁢d⁡yⅆy+d⁡x
Example 5
An example where an arbitrary constant c__1 is introduced with the solution:
eq5≔3⁢x2+4⁢x=Int⁡6⁢x2⁢y+4⁢x⁢y2⁢p⁡y,y=−1..1
eq5≔3⁢x2+4⁢x=∫−116⁢x2⁢y+4⁢x⁢y2⁢p⁡yⅆy
intsolve⁡eq5,p⁡x
p⁡x=c__1⁢x2+34⁢x+32−35⁢c__1
Example 6
An example which is in the form of an integral transform:
eq6≔Int⁡f⁡y1+y2⁢sin⁡x⁢y,y=0..∞=exp⁡−3⁢x
eq6≔∫0∞f⁡y⁢sin⁡x⁢yy2+1ⅆy=ⅇ−3⁢x
intsolve⁡eq6,f⁡x
f⁡x=2⁢x⁢x2+1π⁢x2+9
Example 7
Consider the following Fredholm integral equation:
eq7≔f⁡x+int⁡f⁡y⁢piecewise⁡x<y,x⁢5−y,y⁢5−x,y=0..5−x
eq7≔f⁡x+∫05f⁡y⁢x⁢5−yx<yy⁢5−xotherwiseⅆy−x
We can approximate the solution using collocation and different choices of nodes:
Nodes≔chebyshev,chebyshevgausslobatto,legendre,legendregausslobatto,regular
Solutions≔table⁡seq⁡N=rhs⁡intsolve⁡eq7,f⁡x,method=collocation,nodes=N,numeric,N=Nodes
Solutions≔table⁡chebyshevgausslobatto=0.000527268787260081−0.00963667903039296⁢x+0.0547131575249709⁢x2−0.136539225739237⁢x3+0.186880927119367⁢x4−0.152865099770459⁢x5+0.0783772849452428⁢x6−0.0254140697305716⁢x7+0.00508737678161169⁢x8−0.000576404449660187⁢x9+0.0000287755576302069⁢x10,legendre=0.000270146720684209−0.00674258083671267⁢x+0.0449875691431159⁢x2−0.122126576772606⁢x3+0.176226421663010⁢x4−0.149155158686233⁢x5+0.0782051013618702⁢x6−0.0257252822155980⁢x7+0.00519457336782066⁢x8−0.000591192644212412⁢x9+0.0000295442586895121⁢x10,legendregausslobatto=0.000859026877564960−0.0128051097217356⁢x+0.0644467374479597⁢x2−0.150189595323878⁢x3+0.196599523324286⁢x4−0.156136229406325⁢x5+0.0784931874372763⁢x6−0.0251272234466349⁢x7+0.00499068488414689⁢x8−0.000563142027024202⁢x9+0.0000280866172257677⁢x10,regular=8.21750275469076×10−14−0.0114305754905273⁢x+0.0690752093076320⁢x2−0.162723600370858⁢x3+0.207790296607584⁢x4−0.160281898543579⁢x5+0.0785946145571066⁢x6−0.0247001423848634⁢x7+0.00484761856611429⁢x8−0.000543617288394175⁢x9+0.0000270839813764105⁢x10,chebyshev=0.0000942409721588482−0.00421115184707449⁢x+0.0354277755970873⁢x2−0.106974968889258⁢x3+0.164523810021318⁢x4−0.144924253634663⁢x5+0.0779597045591961⁢x6−0.0260635944966208⁢x7+0.00531400499584222⁢x8−0.000607773920986074⁢x9+0.0000304067579387778⁢x10
To visualize the accuracy of these approximations, we can plot the residuals:
plot⁡seq⁡abs⁡eval⁡eq7,f=unapply⁡SolutionsN,x,N=Nodes,x=0..5,title=Residuals,legend=Nodes,size=0.5,0.5,adaptive=false,numpoints=1000
Example 8
The Laplace method can be used to solve singular integral equations:
eq8≔Int⁡f⁡ysqrt⁡x−y,y=0..x−x2
eq8≔∫0xf⁡yx−yⅆy−x2
intsolve⁡eq8,f⁡x,method=Laplace
f⁡x=8⁢x323⁢π
Chambers, LL. G. Integral Equations: A Short Course. London: International Textbook Company Ltd., 1976.
Tricomi, F. G. Integral Equations. New York: Interscience, 1957.
The numeric option was introduced in Maple 2022.
For more information on Maple 2022 changes, see Updates in Maple 2022.
The intsolve command was updated in Maple 2024.
The basis, includeendpoints, interval and nodes options were introduced in Maple 2024.
For more information on Maple 2024 changes, see Updates in Maple 2024.
See Also
D
Digits
dsolve
int
inttrans[invlaplace]
inttrans[laplace]
LinearAlgebra[LinearSolve]
UseHardwareFloats
Download Help Document