And now for another excursion into the fascinating world of math and errors.
First of all, you must realize the all important fact that nearly all solutions of math problems are approximations.
I know it seems hard to imagine (at least, I kept feeling there must be some way to get exact answers). But it is true. Your computer and your calculator and your hand calculations are usually riddled with errors: rounding errors, truncating errors, data errors, computational errors, forward errors, and backward errors (and maybe a few more that I have forgotten).
This post will explore backward and forward errors.
Have you heard of functions?
Well, imagine a machine...like an oven. You put in a lumpy sticky mixture of ground-up grains, crushed olives, fermenting fungi, sodium chloride, sugars, and flammable elements combined so they are no longer flammable (i.e. H2O or "water" as it is commonly know as). You put this unlikely combination into the oven machine.
And in ~35min. a fragrant loaf of bread comes forth.
The oven did stuff to the mixture you threw in (well, not literally) and gave an output. We could call the oven a "function" (since it performs a function...baking bread) and the dough (that disgusting mess described earlier) as the input. The nicely baked bread is the output.
We could go even further. We could give the input a generic name "x" which can now stand for anything (not just bread dough, but cookie dough, brownie batter, chickens, cats, plants, 4, 7, 109, or anything else you like). And the output gets its own generic name "y". And the function even gets its own name too! It will be called f(x) (because it performs some function on x).
Now that we've got all that straight we can begin to talk about forward error.
Usually, or at least in an ideal world, you put an x in to your f(x) and get a particular y special to the particular x you put in. And this is the exact output that you would get.
But sometimes, you only get an approximation to your actual y. It's like putting in your bread dough and getting bread that was still doughy in the middle. It's only an approximation of the actual bread you wanted. Now suppose your actual bread and your doughy bread were numbers, than you could find the difference between the two of them. And that would be your forward error.
y - approximate y = forward error
Now backward error is a little more tricky to explain. Suppose, you wanted the bread that was doughy in the middle...now it wouldn't actually be bread you were wanting. But we could suppose there is some other...thing that you might wish to make that actually produces doughy bread. Then the doughy bread would be the exact output and not the approximate output.
So then the input changes slightly.
And you get something like this:
x - approximate x = backward error
(the approximate x is the input that gives us the exact output of doughy bread)
Perhaps a visual would help?
(click on image for clearer view)