Services & Resources / Wolfram Forums
MathGroup Archive
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2005

[Date Index] [Thread Index] [Author Index]

Search the Archive

Solving a weakly singular integral equation - Take 2.

  • To: mathgroup at
  • Subject: [mg54485] Solving a weakly singular integral equation - Take 2.
  • From: Zaeem Burq <Z.Burq at>
  • Date: Mon, 21 Feb 2005 03:44:55 -0500 (EST)
  • Sender: owner-wri-mathgroup at

Dear all,

I am still trying to solve a Linear Volterra type-2 integral equation by
using successive approximations method. I am mainly interested in the
behaviour of the solution near zero.

The unknown function is f[t]. Define

p[x_]:= Exp[- 0.5 * x^2]/Sqrt[2 Pi] (* Gaussian probability density 

c[t_]:= Sqrt[2.1 t Log[Log[1/t]] ]  

G[s_,t_]:= (c[t] - c[s]) p[(c[t]-c[s])/Sqrt[t-s]] / (t-s)^1.5  (* The 
kernel *)

The integral equation is:

f[t] = c[t]p[c[t]/Sqrt[t]] / t^1.5 - \int_{0}^{t} G[s,t] f[s] ds

As you can see, the kernel has a $(t-s)^1.5$ in the denominator, i.e.,
singularities along the diagonal (s=t). These singularities are
appropriately killed by the function p, but Mathematica seems to have
trouble with them:

Since c is differentiable (except at zero), the factor c[t] - c[s] in the
numerator of the kernel is O(t-s) when t-s is small and t > 0. This means
that the denominator (t-s)^1.5 is only as bad as Sqrt[t-s]. This combined
with the exponential function, means that the kernel is actually at-least
Holder continuous of order -0.5. Even when t=0, the exponential function
kills the pole at zero. It is known from other sources, that this integral
equation has a unique solution.
I wrote down the following routine based on a paper in the Mathematica
Journal: n is the number of iterations of the approximation process:

\!\(Clear[c, approxsoln, K]\n
  n = 3\n
  \(p[x_] := \[ExponentialE]\^\(\(-x\^2\)/2\)\/\@\(2  \[Pi]\);\)\n
  \(c[t_] := Sqrt[2.1\ t\ Log[Log[1/t]]];\)\n
  \(approxsoln[x_] = 0;\)\n
        t_] := \(\(\ \)\(\((c[t] - c[s])\)\ p[\(c[t] - c[s]\)\/\@\(t - 
\)\/\((t - s)\)\^1.5`;\)\n
  \(For[j = 1, 
      j <= \ n, \(j++\), \[IndentingNewLine]values = 
        Table[{t, \(\(\ \)\(c[t] p[c[t]\/\@t]\)\)\/\((t)\)\^1.5`\  - 
              NIntegrate[G[s, t]*approxsoln[s], {s, 0, t}]}, {t, 
            0.0000000001,  .01,  .01\/10}]; \n
      approxsoln[t_] = 
        InterpolatingPolynomial[values, t]; \[IndentingNewLine]Print[
  Plot[approxsoln[x], {x, 0,  .01}]\)


1. I have had to truncated the integral away from zero - i.e., s runs from
0 to t, but t runs from 0.0000000001 to 0.01. It should run from 0 to 0.1.
This is not entirely satisfactory, as I am mainly interested in behaviour
near zero.

2. As the code stands, Mathematica tells me that the numerical integrals
converge too slowly.

I'd appreciate any help.

Best, Zaeem.


Zaeem Burq
PhD Stochastic Processes,
Dept. of Mathematics and Statistics, 

Room 201, Richard Berry Building
University of Melbourne,
Parkville, VIC 3052.

ph: 8344 4248.

  • Prev by Date: Re: Re: Re: Re: Re: Bug Report - Two numerical values for a same variable
  • Next by Date: Re: Plotting symbolic representation of numerica function
  • Previous by thread: Re: Printing numbers
  • Next by thread: Re: Solving a weakly singular integral equation - Take 2.