Integral Equations

Inhomogeneous Fredholm integral equations of the second kind,

involve solving for , where is the integral kernel, is a parameter, and is the inhomogeneous term [1, 2]. Mathematica does not include built-in routines or packages for integral equations. However, it is straightforward to implement quite general methods for solving such equations.

As a specific example, consider Love's equation

which arises in electrostatics [3, 4]. An excellent approximation to the solution can be found in the form of a Chebyshev-series

The coefficients for , are determined by solving numerically the simultaneous linear algebraic equations that result by evaluating the integral equation (2) at the Chebyshev points for , using the Chebyshev-series (3) [5, 6].

Here is a direct implementation for . The Chebyshev points are calculated using arbitrary-precision arithmetic.

Instead of computing the points using Table, we have used the Listable attribute of Cos.

We introduce the undetermined coefficients .

We evaluate the left-hand side of equation (2) at the Chebyshev points.

Note that we have replaced the sum in the Chebyshev-series (3) by a dot product and have used the Listable attribute of ChebyshevT to compute the value at all the Chebyshev points at once.

To compute the right-hand side of equation (2) we could use a Chebyshev quadrature formula [5, 6]. Instead we use NIntegrate for simplicity, again using arbitrary-precision arithmetic.

Solving the resulting simultaneous linear algebraic equations we obtain the coefficients for .

The solution is obtained from the Chebyshev-series (3).

To see how well the Chebyshev-series solution satisfies Love's equation (2), we substitute it back into the equation and plot the difference of the left- and right-hand sides. The Chebyshev points are also displayed and it is apparent that the minimum error in the Chebyshev-series solution occurs at these points.

As an aside, we can get a bound for the maximum error directly from the PlotRange of this plot. We could use this error-bound in a recursive procedure so as to find a solution for a given maximum error.