Can chebfun solve nonlinear Volterra integral equations?

99 views
Skip to first unread message

Mike

unread,
May 2, 2020, 4:53:51 AM5/2/20
to chebfun-users

Hello Chebfun friends!

I am wondering whether or not if is possible to solve nonlinear integral equations of Volterra types using chebfun? For example
is it possible to solve the following integral equation:


u(x) = exp(x) + 1/3*x*(1-exp(3*x)) + integral(x*u(t)^{3} dt, t from 0 to x)

whose solution is u(x)=exp(x); 

Your help is greatly appreciated!

Kind wishes,
Babak

Nick Hale

unread,
May 2, 2020, 8:33:17 AM5/2/20
to chebfun-users
Hi Babek

Yes, it can!
K = @(x,y) 1+0*x;
N = chebop(@(x,u) - u + exp(x) + 1/3*x*(1-exp(3*x)) + x*volt(K, u^3), [0, 1]);
u = N\0;
norm(u - chebfun(@exp, [0 1]))
ans =
   8.2789e-13

You could also use cumsum(u^3) rather than volt(K, u^3).

Note however that there's currently small bug in the master branch that prevents this code from working.
I issued a fix here:  https://github.com/chebfun/chebfun/pull/2361 and hopefully this can be merged soon.

Nick

Calin Gheorghiu

unread,
Mar 4, 2024, 4:03:29 AM3/4/24
to chebfun-users
Hello CHEBFUN friends, hello Nick Hale,
 
Unfortunately, I cannot find the bug for the above code. I still get the following error:
Error using mat2cell (line 106)…
Error in linop/fitBCs>my partition(line 173)…
Error in linop/fitBCs (line 131)…
The code seems simple and clear but…
Any suggestions are welcome and appreciated.
Thanks un advance.
Best regards,
Calin

Nick Hale

unread,
Mar 5, 2024, 12:57:13 AM3/5/24
to chebfun-users
Dear Calin 

Please provide a minimal working of your code that is not working.

However, if you are referring to the code I posted previously, that seems
to work fine for me using the current release:

>> K = @(x,y) 1+0*x;
N = chebop(@(x,u) - u + exp(x) + 1/3*x*(1-exp(3*x)) + x*volt(K, u^3), [0, 1]);
u = N\0;
norm(u - chebfun(@exp, [0 1]))
ans =
   6.1457e-13

Regards

Nick
Reply all
Reply to author
Forward
0 new messages