intsolve
solve a linear integral equation
Calling Sequence
Parameters
Description
Examples
References
Compatibility
intsolve( Inteqn, funcn )
intsolve( Inteqn, funcn, method = ..., order = ..., numeric = ... )
Inteqn
-
linear integral equation in funcn
funcn
unknown function to be solved for
method = ...
(optional) the right-hand side can be any of: collocation, differentialequation, eigenfunction, Neumann, Laplace
numeric = ...
(optional) the right-hand side can be either true or false (default is false), specifying if the collocation method is to seek a numerical solution
order = ...
(optional) the right-hand side can be a positive integer, specifying 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 for approximating solutions is applicable to Fredholm equations. This technique first partitions the interval a,b uniformly into n+1 points, where positive integer n is 10 by default or set by passing order=n. Then, the coefficients of an undetermined polynomial of degree n are determined so that the polynomial satisfies the integral equation at the collocation points. A few notes:
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 limits of the integral in the equation, and numeric=false is inferred if there are no floats in the limits.
The LinearAlgebra[LinearSolve] command is used to solve the (linear) collocation equations. 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 be 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−1⁢∫01x⁢y⁢p⁡yⅆy2=5⁢x6
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+∫0x1+2⁢x−y⁢f⁡yⅆy
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 ≔ ∫0xⅇa⁢x−y⁢f⁡yⅆy=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⁢∫−11x⁢y+x2⁢y2⁢f⁡yⅆy=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=∫−116⁢x2⁢y+4⁢x⁢y2⁢p⁡yⅆy
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 ≔ ∫0∞f⁡y⁢sin⁡x⁢y1+y2ⅆy=ⅇ−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
The solution of a Fredholm integral equation can be approximated using the collocation method:
a ≔ 0:
b ≔ 5:
g ≔ x→−x:
k ≔ x,y→piecewise⁡x<y,x⁢b−y,y⁢b−x:
eq7 ≔ f⁡x+∫abf⁡y⁢k⁡x,yⅆy+g⁡x
eq7≔f⁡x+∫05x⁢5−yx<yy⁢5−xotherwise⁢f⁡yⅆy−x
p ≔ unapply⁡rhs⁡intsolve⁡eq7,f⁡x,method=collocation,order=10,x
p≔x↦2200008122882553⋅x10−3308109894700060853654989179049⋅x9+9833176935000020284551663059683⋅x8−50103131487960020284551663059683⋅x7+159425652170750020284551663059683⋅x6−650249291540845540569103326119366⋅x5+842986603377812540569103326119366⋅x4−990232586597760560853654989179049⋅x3+140115965680687520284551663059683⋅x2−23186409996444220284551663059683⋅x
Note that this approximation can also be found using floats:
intsolve⁡eq7,f⁡x,method=collocation,order=10,numeric
f⁡x=5.87182467011475×10−14−0.0114305752379515⁢x+0.0690752079165345⁢x2−0.162723597369789⁢x3+0.207790293190521⁢x4−0.160281896242838⁢x5+0.0785946135953408⁢x6−0.0247001421327652⁢x7+0.00484761852583069⁢x8−0.000543617284809154⁢x9+0.0000270839812402637⁢x10
Plot of the approximate solution:
plot⁡p,a..b,title=Approximate Solution of Integral Equation,color=blue
To test how close the approximation matches the actual solution, we can sample the absolute value of the expression for the integral equation over the interval:
n ≔ 100:
q ≔ unapply⁡eq7f=p|eq7f=p,x:
X ≔ Vector⁡n,i→evalf⁡a+i−1⁢b−an−1:
E ≔ `~`q⁡X:
dataplot⁡X,E,style=line,title=Error of Approximate Solution of Integral Equation
avg_error ≔ add⁡En
avg_error≔0.0001670818114
max_error ≔ max⁡E
max_error≔0.001720560553
Example 8
The Laplace method can be used to solve singular integral equations:
eq8 ≔ ∫0xf⁡yx−yⅆy−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 intsolve command was updated in Maple 2022.
The numeric option was introduced in Maple 2022.
For more information on Maple 2022 changes, see Updates in Maple 2022.
See Also
D
Digits
dsolve
int
inttrans[invlaplace]
inttrans[laplace]
LinearAlgebra[LinearSolve]
UseHardwareFloats
Download Help Document