Home >
Community >
How to combine Richardson's Extrapolation to nonstandard finite...
Upvote
28
Downvote
+ Finite difference
+ Numerical methods
+ Scheme
+ Matlab
Posted by
Karl Jansson
How to combine Richardson's Extrapolation to nonstandard finite...
Richardson's Extrapolation is an extremely powerful tool available to numerical analysts for improving the performance of a wide variety of mathematical methods. It is an incredibly powerful technique for increasing speed and accuracy in various numerical tasks in scientific computing. It is also used to speed up the rate of convergence for numerical methods. to combine Richardson's Extrapolation to nonstandard finite difference schemes, Let us consider that H is the set of grid points that we obtain by using the mesh size h and k.for any mesh size h, k different from zero, you can obtain a numerical solution for the problem at each this gridpoint. Again Let 2H is the set of grid point that obtained by bisecting each mesh point in H and you can obtain numerical value at each bisected grid point. Now finding the error between these numerical solution exact solution for the problem, and searching new approximating solution by subtraction these two errors with, the order of truncation error increase. In this case the accuracy of the solution increase. Hence step size is not vanish if it is small, the problem you are solving has its own properties obvious without deeper analysis. Try to read different papers toking about Richardson's Extrapolation methods.
Richardson's Extrapolation is an extremely powerful tool available to numerical analysts for improving the performance of a wide variety of mathematical methods. It is an incredibly powerful technique for increasing speed and accuracy in various numerical tasks in scientific computing. It is also used to speed up the rate of convergence for numerical methods. to combine Richardson's Extrapolation to nonstandard finite difference schemes, Let us consider that H is the set of grid points that we obtain by using the mesh size h and k.for any mesh size h, k different from zero, you can obtain a numerical solution for the problem at each this gridpoint. Again Let 2H is the set of grid point that obtained by bisecting each mesh point in H and you can obtain numerical value at each bisected grid point. Now finding the error between these numerical solution exact solution for the problem, and searching new approximating solution by subtraction these two errors with, the order of truncation error increase. In this case the accuracy of the solution increase. Hence step size is not vanish if it is small, the problem you are solving has its own properties obvious without deeper analysis. Try to read different papers toking about Richardson's Extrapolation methods.
To understand what may be happening, consider that the numerical scheme you use (this applies to all numerical schemes) is solving a different problem than the one you intend to solve. Usually, your numerical scheme only solves your problem of interest when the advancement step is vanishingly small (assume there is only one discretization step, for simplicity). When the step size isn't vanishingly small, the problem you are solving has properties that aren't immediately obvious without deeper analysis. For example, if your scheme is conditionally stable, as you increase your step the problem you are actually solving may become unstable and you get a blow-up. If your scheme is unconditionally stable, as you increase your step you may get results that don't blow up, but are otherwise nonsensical. The fact you are getting nonsensical results as your step size increases doesn't mean you made a mistake in your implementation (it doesn't preclude you made a mistake either, of course).
To understand what may be happening, consider that the numerical scheme you use (this applies to all numerical schemes) is solving a different problem than the one you intend to solve. Usually, your numerical scheme only solves your problem of interest when the advancement step is vanishingly small (assume there is only one discretization step, for simplicity). When the step size isn't vanishingly small, the problem you are solving has properties that aren't immediately obvious without deeper analysis. For example, if your scheme is conditionally stable, as you increase your step the problem you are actually solving may become unstable and you get a blow-up. If your scheme is unconditionally stable, as you increase your step you may get results that don't blow up, but are otherwise nonsensical. The fact you are getting nonsensical results as your step size increases doesn't mean you made a mistake in your implementation (it doesn't preclude you made a mistake either, of course).
No makes sense , As i think it my be some error in your scheme or this negative solution my show the directional derivative ( rate of convergency). But Richardson extrapolation is a sequence acceleration method used to improve the rate of convergence of a sequence.To increase the order of accuracy of numerical approximation through Richardson extrapolation, the numerical approximations using related discretization can be combined to remove the leading order error term and thus obtain a higher-order numerical approximation. The objective this prossis is to obtain the accurate approximation of exact solution as step size is goes to 0.
No makes sense , As i think it my be some error in your scheme or this negative solution my show the directional derivative ( rate of convergency). But Richardson extrapolation is a sequence acceleration method used to improve the rate of convergence of a sequence.To increase the order of accuracy of numerical approximation through Richardson extrapolation, the numerical approximations using related discretization can be combined to remove the leading order error term and thus obtain a higher-order numerical approximation. The objective this prossis is to obtain the accurate approximation of exact solution as step size is goes to 0.
for your reply to my question. As you may read in the article, Richardson’s extrapolation is applied to the NSFD solution and it improves accuracy. I also applied for other model with NSFD that is unconditionally stable and improves accuracy for smaller step size as well. But when increase the step size I got negative results for Richardson's but not for NSFD (which is senseless I think). Here, I can do the simulation for smaller step and get better accuracy than the NSFD, but do you think it makes sense? Thank you!
for your reply to my question. As you may read in the article, Richardson’s extrapolation is applied to the NSFD solution and it improves accuracy. I also applied for other model with NSFD that is unconditionally stable and improves accuracy for smaller step size as well. But when increase the step size I got negative results for Richardson's but not for NSFD (which is senseless I think). Here, I can do the simulation for smaller step and get better accuracy than the NSFD, but do you think it makes sense? Thank you!
To be honest, I have no idea why you have these issues. Does your method have a formal order of accuracy? If it doesn't, then Richardson's Extrapolation won't do anything. Is your set of equations a stiff set? If so, then explicit methods can and will diverge irrespective of their order of accuracy. Direct methods, where the ODEs are converted into a matrix/vector system will often yield good solutions. Even if they are nonlinear, then a Newton-Raphson approach can work well.
To be honest, I have no idea why you have these issues. Does your method have a formal order of accuracy? If it doesn't, then Richardson's Extrapolation won't do anything. Is your set of equations a stiff set? If so, then explicit methods can and will diverge irrespective of their order of accuracy. Direct methods, where the ODEs are converted into a matrix/vector system will often yield good solutions. Even if they are nonlinear, then a Newton-Raphson approach can work well.
No makes sense , As i think it my be some error in your scheme or this negative solution my show the directional derivative ( rate of convergency). But Richardson extrapolation is a sequence acceleration method used to improve the rate of convergence of a sequence.To increase the order of accuracy of numerical approximation through Richardson extrapolation, the numerical approximations using related discretization can be combined to remove the leading order error term and thus obtain a higher-order numerical approximation. The objective this prossis is to obtain the accurate approximation of exact solution as step size is goes to 0.
No makes sense , As i think it my be some error in your scheme or this negative solution my show the directional derivative ( rate of convergency). But Richardson extrapolation is a sequence acceleration method used to improve the rate of convergence of a sequence.To increase the order of accuracy of numerical approximation through Richardson extrapolation, the numerical approximations using related discretization can be combined to remove the leading order error term and thus obtain a higher-order numerical approximation. The objective this prossis is to obtain the accurate approximation of exact solution as step size is goes to 0.
Richardson's Extrapolation is an extremely powerful tool available to numerical analysts for improving the performance of a wide variety of mathematical methods. It is an incredibly powerful technique for increasing speed and accuracy in various numerical tasks in scientific computing. It is also used to speed up the rate of convergence for numerical methods. to combine Richardson's Extrapolation to nonstandard finite difference schemes, Let us consider that H is the set of grid points that we obtain by using the mesh size h and k.for any mesh size h, k different from zero, you can obtain a numerical solution for the problem at each this gridpoint. Again Let 2H is the set of grid point that obtained by bisecting each mesh point in H and you can obtain numerical value at each bisected grid point. Now finding the error between these numerical solution exact solution for the problem, and searching new approximating solution by subtraction these two errors with, the order of truncation error increase. In this case the accuracy of the solution increase. Hence step size is not vanish if it is small, the problem you are solving has its own properties obvious without deeper analysis. Try to read different papers toking about Richardson's Extrapolation methods.
Richardson's Extrapolation is an extremely powerful tool available to numerical analysts for improving the performance of a wide variety of mathematical methods. It is an incredibly powerful technique for increasing speed and accuracy in various numerical tasks in scientific computing. It is also used to speed up the rate of convergence for numerical methods. to combine Richardson's Extrapolation to nonstandard finite difference schemes, Let us consider that H is the set of grid points that we obtain by using the mesh size h and k.for any mesh size h, k different from zero, you can obtain a numerical solution for the problem at each this gridpoint. Again Let 2H is the set of grid point that obtained by bisecting each mesh point in H and you can obtain numerical value at each bisected grid point. Now finding the error between these numerical solution exact solution for the problem, and searching new approximating solution by subtraction these two errors with, the order of truncation error increase. In this case the accuracy of the solution increase. Hence step size is not vanish if it is small, the problem you are solving has its own properties obvious without deeper analysis. Try to read different papers toking about Richardson's Extrapolation methods.
It is difficult to see from your code what role NSFDs play (apologies, but I am not a Matlab user), but it does look as though the initial part of the code uses a 4th order Runge Kutta scheme. Perhaps this means that your results already have 4th order accuracy. For uniform grids and where interval-halving has been used to generate the more accurate data, then R.E. is
Value(R.E.) = [ 16*Value(2N) - Value(N) ] /15
for your data, where the arguments to Value(.) are the number of intervals used.
I have also experienced RE when using the Keller Box method with a nonuniform mesh. If the more accurate solution is obtained on a mesh where each of the original intervals are split equally into two identical subintervals, then 2nd order R.E. may be used:
Value(R.E.) = [ 4*Value(2N)-Value(N)]/3.
It seems to me that you may be using a 1st order R.E. on 4th order accurate data. If I am correct, then the very best you'll achieve is to maintain 4th order accuracy.
It is difficult to see from your code what role NSFDs play (apologies, but I am not a Matlab user), but it does look as though the initial part of the code uses a 4th order Runge Kutta scheme. Perhaps this means that your results already have 4th order accuracy. For uniform grids and where interval-halving has been used to generate the more accurate data, then R.E. is
Value(R.E.) = [ 16*Value(2N) - Value(N) ] /15
for your data, where the arguments to Value(.) are the number of intervals used.
I have also experienced RE when using the Keller Box method with a nonuniform mesh. If the more accurate solution is obtained on a mesh where each of the original intervals are split equally into two identical subintervals, then 2nd order R.E. may be used:
Value(R.E.) = [ 4*Value(2N)-Value(N)]/3.
It seems to me that you may be using a 1st order R.E. on 4th order accurate data. If I am correct, then the very best you'll achieve is to maintain 4th order accuracy.
Thank you for your reply and recommendation D. Andrew S. Rees for my question. As you list RK4 has better approximation than the others, but for smaller time step. When increase the step size for example, for l=1 (time step) it can be seen that RK4 method diverges. That is the reason we need NSFD schemes that doesn't suffer from this type of problem for any time step. And it is known that the purpose of Richardson's extrapolation is to increase the order of convergence. My question has been that why can I get negative results for the Richardson's extrapolation when increase the time step? Thank you!
Thank you for your reply and recommendation D. Andrew S. Rees for my question. As you list RK4 has better approximation than the others, but for smaller time step. When increase the step size for example, for l=1 (time step) it can be seen that RK4 method diverges. That is the reason we need NSFD schemes that doesn't suffer from this type of problem for any time step. And it is known that the purpose of Richardson's extrapolation is to increase the order of convergence. My question has been that why can I get negative results for the Richardson's extrapolation when increase the time step? Thank you!
Richardson's Extrapolation is an extremely powerful tool available to numerical analysts for improving the performance of a wide variety of mathematical methods. It is an incredibly powerful technique for increasing speed and accuracy in various numerical tasks in scientific computing. It is also used to speed up the rate of convergence for numerical methods. to combine Richardson's Extrapolation to nonstandard finite difference schemes, Let us consider that H is the set of grid points that we obtain by using the mesh size h and k.for any mesh size h, k different from zero, you can obtain a numerical solution for the problem at each this gridpoint. Again Let 2H is the set of grid point that obtained by bisecting each mesh point in H and you can obtain numerical value at each bisected grid point. Now finding the error between these numerical solution exact solution for the problem, and searching new approximating solution by subtraction these two errors with, the order of truncation error increase. In this case the accuracy of the solution increase. Hence step size is not vanish if it is small, the problem you are solving has its own properties obvious without deeper analysis. Try to read different papers toking about Richardson's Extrapolation methods.
Richardson's Extrapolation is an extremely powerful tool available to numerical analysts for improving the performance of a wide variety of mathematical methods. It is an incredibly powerful technique for increasing speed and accuracy in various numerical tasks in scientific computing. It is also used to speed up the rate of convergence for numerical methods. to combine Richardson's Extrapolation to nonstandard finite difference schemes, Let us consider that H is the set of grid points that we obtain by using the mesh size h and k.for any mesh size h, k different from zero, you can obtain a numerical solution for the problem at each this gridpoint. Again Let 2H is the set of grid point that obtained by bisecting each mesh point in H and you can obtain numerical value at each bisected grid point. Now finding the error between these numerical solution exact solution for the problem, and searching new approximating solution by subtraction these two errors with, the order of truncation error increase. In this case the accuracy of the solution increase. Hence step size is not vanish if it is small, the problem you are solving has its own properties obvious without deeper analysis. Try to read different papers toking about Richardson's Extrapolation methods.
More
VOTE
To understand what may be happening, consider that the numerical scheme you use (this applies to all numerical schemes) is solving a different problem than the one you intend to solve. Usually, your numerical scheme only solves your problem of interest when the advancement step is vanishingly small (assume there is only one discretization step, for simplicity). When the step size isn't vanishingly small, the problem you are solving has properties that aren't immediately obvious without deeper analysis. For example, if your scheme is conditionally stable, as you increase your step the problem you are actually solving may become unstable and you get a blow-up. If your scheme is unconditionally stable, as you increase your step you may get results that don't blow up, but are otherwise nonsensical.
The fact you are getting nonsensical results as your step size increases doesn't mean you made a mistake in your implementation (it doesn't preclude you made a mistake either, of course).
To understand what may be happening, consider that the numerical scheme you use (this applies to all numerical schemes) is solving a different problem than the one you intend to solve. Usually, your numerical scheme only solves your problem of interest when the advancement step is vanishingly small (assume there is only one discretization step, for simplicity). When the step size isn't vanishingly small, the problem you are solving has properties that aren't immediately obvious without deeper analysis. For example, if your scheme is conditionally stable, as you increase your step the problem you are actually solving may become unstable and you get a blow-up. If your scheme is unconditionally stable, as you increase your step you may get results that don't blow up, but are otherwise nonsensical.
The fact you are getting nonsensical results as your step size increases doesn't mean you made a mistake in your implementation (it doesn't preclude you made a mistake either, of course).
More
VOTE
No makes sense , As i think it my be some error in your scheme or this negative solution my show the directional derivative ( rate of convergency). But Richardson extrapolation is a sequence acceleration method used to improve the rate of convergence of a sequence.To increase the order of accuracy of numerical approximation through Richardson extrapolation, the numerical approximations using related discretization can be combined to remove the leading order error term and thus obtain a higher-order numerical approximation. The objective this prossis is to obtain the accurate approximation of exact solution as step size is goes to 0.
No makes sense , As i think it my be some error in your scheme or this negative solution my show the directional derivative ( rate of convergency). But Richardson extrapolation is a sequence acceleration method used to improve the rate of convergence of a sequence.To increase the order of accuracy of numerical approximation through Richardson extrapolation, the numerical approximations using related discretization can be combined to remove the leading order error term and thus obtain a higher-order numerical approximation. The objective this prossis is to obtain the accurate approximation of exact solution as step size is goes to 0.
More
VOTE
Thank you Domingo Tavella and
for your reply to my question.
As you may read in the article, Richardson’s extrapolation is applied to the NSFD solution and it improves accuracy. I also applied for other model with NSFD that is unconditionally stable and improves accuracy for smaller step size as well. But when increase the step size I got negative results for Richardson's but not for NSFD (which is senseless I think). Here, I can do the simulation for smaller step and get better accuracy than the NSFD, but do you think it makes sense?
Thank you!
Thank you Domingo Tavella and
for your reply to my question.
As you may read in the article, Richardson’s extrapolation is applied to the NSFD solution and it improves accuracy. I also applied for other model with NSFD that is unconditionally stable and improves accuracy for smaller step size as well. But when increase the step size I got negative results for Richardson's but not for NSFD (which is senseless I think). Here, I can do the simulation for smaller step and get better accuracy than the NSFD, but do you think it makes sense?
Thank you!
More
VOTE
Hi!
To be honest, I have no idea why you have these issues. Does your method have a formal order of accuracy? If it doesn't, then Richardson's Extrapolation won't do anything. Is your set of equations a stiff set? If so, then explicit methods can and will diverge irrespective of their order of accuracy. Direct methods, where the ODEs are converted into a matrix/vector system will often yield good solutions. Even if they are nonlinear, then a Newton-Raphson approach can work well.
Hi!
To be honest, I have no idea why you have these issues. Does your method have a formal order of accuracy? If it doesn't, then Richardson's Extrapolation won't do anything. Is your set of equations a stiff set? If so, then explicit methods can and will diverge irrespective of their order of accuracy. Direct methods, where the ODEs are converted into a matrix/vector system will often yield good solutions. Even if they are nonlinear, then a Newton-Raphson approach can work well.
More
VOTE
No makes sense , As i think it my be some error in your scheme or this negative solution my show the directional derivative ( rate of convergency). But Richardson extrapolation is a sequence acceleration method used to improve the rate of convergence of a sequence.To increase the order of accuracy of numerical approximation through Richardson extrapolation, the numerical approximations using related discretization can be combined to remove the leading order error term and thus obtain a higher-order numerical approximation. The objective this prossis is to obtain the accurate approximation of exact solution as step size is goes to 0.
No makes sense , As i think it my be some error in your scheme or this negative solution my show the directional derivative ( rate of convergency). But Richardson extrapolation is a sequence acceleration method used to improve the rate of convergence of a sequence.To increase the order of accuracy of numerical approximation through Richardson extrapolation, the numerical approximations using related discretization can be combined to remove the leading order error term and thus obtain a higher-order numerical approximation. The objective this prossis is to obtain the accurate approximation of exact solution as step size is goes to 0.
More
VOTE
Richardson's Extrapolation is an extremely powerful tool available to numerical analysts for improving the performance of a wide variety of mathematical methods. It is an incredibly powerful technique for increasing speed and accuracy in various numerical tasks in scientific computing. It is also used to speed up the rate of convergence for numerical methods. to combine Richardson's Extrapolation to nonstandard finite difference schemes, Let us consider that H is the set of grid points that we obtain by using the mesh size h and k.for any mesh size h, k different from zero, you can obtain a numerical solution for the problem at each this gridpoint. Again Let 2H is the set of grid point that obtained by bisecting each mesh point in H and you can obtain numerical value at each bisected grid point. Now finding the error between these numerical solution exact solution for the problem, and searching new approximating solution by subtraction these two errors with, the order of truncation error increase. In this case the accuracy of the solution increase. Hence step size is not vanish if it is small, the problem you are solving has its own properties obvious without deeper analysis. Try to read different papers toking about Richardson's Extrapolation methods.
Richardson's Extrapolation is an extremely powerful tool available to numerical analysts for improving the performance of a wide variety of mathematical methods. It is an incredibly powerful technique for increasing speed and accuracy in various numerical tasks in scientific computing. It is also used to speed up the rate of convergence for numerical methods. to combine Richardson's Extrapolation to nonstandard finite difference schemes, Let us consider that H is the set of grid points that we obtain by using the mesh size h and k.for any mesh size h, k different from zero, you can obtain a numerical solution for the problem at each this gridpoint. Again Let 2H is the set of grid point that obtained by bisecting each mesh point in H and you can obtain numerical value at each bisected grid point. Now finding the error between these numerical solution exact solution for the problem, and searching new approximating solution by subtraction these two errors with, the order of truncation error increase. In this case the accuracy of the solution increase. Hence step size is not vanish if it is small, the problem you are solving has its own properties obvious without deeper analysis. Try to read different papers toking about Richardson's Extrapolation methods.
More
VOTE
It is difficult to see from your code what role NSFDs play (apologies, but I am not a Matlab user), but it does look as though the initial part of the code uses a 4th order Runge Kutta scheme. Perhaps this means that your results already have 4th order accuracy. For uniform grids and where interval-halving has been used to generate the more accurate data, then R.E. is
Value(R.E.) = [ 16*Value(2N) - Value(N) ] /15
for your data, where the arguments to Value(.) are the number of intervals used.
I have also experienced RE when using the Keller Box method with a nonuniform mesh. If the more accurate solution is obtained on a mesh where each of the original intervals are split equally into two identical subintervals, then 2nd order R.E. may be used:
Value(R.E.) = [ 4*Value(2N)-Value(N)]/3.
It seems to me that you may be using a 1st order R.E. on 4th order accurate data. If I am correct, then the very best you'll achieve is to maintain 4th order accuracy.
It is difficult to see from your code what role NSFDs play (apologies, but I am not a Matlab user), but it does look as though the initial part of the code uses a 4th order Runge Kutta scheme. Perhaps this means that your results already have 4th order accuracy. For uniform grids and where interval-halving has been used to generate the more accurate data, then R.E. is
Value(R.E.) = [ 16*Value(2N) - Value(N) ] /15
for your data, where the arguments to Value(.) are the number of intervals used.
I have also experienced RE when using the Keller Box method with a nonuniform mesh. If the more accurate solution is obtained on a mesh where each of the original intervals are split equally into two identical subintervals, then 2nd order R.E. may be used:
Value(R.E.) = [ 4*Value(2N)-Value(N)]/3.
It seems to me that you may be using a 1st order R.E. on 4th order accurate data. If I am correct, then the very best you'll achieve is to maintain 4th order accuracy.
More
VOTE
Thank you for your reply and recommendation D. Andrew S. Rees for my question. As you list RK4 has better approximation than the others, but for smaller time step. When increase the step size for example, for l=1 (time step) it can be seen that RK4 method diverges. That is the reason we need NSFD schemes that doesn't suffer from this type of problem for any time step. And it is known that the purpose of Richardson's extrapolation is to increase the order of convergence. My question has been that why can I get negative results for the Richardson's extrapolation when increase the time step?
Thank you!
Thank you for your reply and recommendation D. Andrew S. Rees for my question. As you list RK4 has better approximation than the others, but for smaller time step. When increase the step size for example, for l=1 (time step) it can be seen that RK4 method diverges. That is the reason we need NSFD schemes that doesn't suffer from this type of problem for any time step. And it is known that the purpose of Richardson's extrapolation is to increase the order of convergence. My question has been that why can I get negative results for the Richardson's extrapolation when increase the time step?
Thank you!
More
VOTE