A transform has to have 3 properties to be useful:
- it should make some hard operations simple (otherwise, why use it)
- it should be easier to compute the direct and inverse transform
- both the direct and inverse transforms should be stable
The Fourier transform has the first property: it changes derivatives and antiderivatives in multiplications and divisions. It also changes convolutions into multiplications. Obviously, there are some flip sides, but if you are lucky, it can transform some hard problems into solvable problems.
Now, the second and third point. The third is just a part of the second: if a transform is not stable, it is not easy to compute. But it bears spelling it out. What does stable mean? The mathematical term is "well-posed", vs "ill-posed". If the difference between two inputs is small, you don't want the difference between the outputs to be very large. In particular, if the difference between two inputs is below machine level precision, they are identical from the computational point of view. If the difference between the outputs is very, very large, then the output of the transform is computationally indeterminate. So the transform is useless.
Bear with me one more paragraph. For two inputs, the transform can either increase their relative distance, or decrease it. The separating case is when the transform preserves the distance, but that doesn't happen too often (well, hold that thought though). If a transform always decreases the distance, it's called a contraction, and it is a very stable transform; in particular, it's easy to implement it on a computer, you don't need to be too smart in order to deal with round-off errors, etc.
The problem with contractions is that the more stable they are the more unstable their inverses are.
A lot of transforms are contractions on a part of their domain and "anti-contractions" on a different part. And the "constant of contraction" can be very-very small on some parts, and "constant of expansion" very-very large on some other parts. So, you end up with a locally very unstable both direct transform and inverse transform.
For this reason, if you pick a random transform it's going to be quite useless. Most often, both the direct, or the inverse transform are unstable.
In some cases, the direct is very stable, but the inverse is not. That's the case for the Laplace transform. A few days ago we had a discussion on HN about a breakthrough claiming to solve the problem with the inverse Laplace transform. Time will tell, but if the claim is true, those guys will be hailed as heroes. A Nevanlinna prize is not unthinkable.
Now, the Fourier transform is that middle case between a contraction and an anti-contraction. It is an isometry. The theorem that states that is the Plancherel theorem [1]. People don't care that much about this theorem, it's not really that useful. But the fact that it holds, is what makes the Fourier transform so useful.
On top of that, there is a fast algorithm for the Fourier tranform, the appropriately named Fast Fourier Transform. This is the cherry on the top. It certainly doesn't hurt, but even if this algorithm didn't exist, the Fourier transform would still be really useful.
So which property is missing? What you listed and explained applies to the Fourier transform. Isometries preserve distances which sounds pretty stable.
- it should make some hard operations simple (otherwise, why use it)
- it should be easier to compute the direct and inverse transform
- both the direct and inverse transforms should be stable
The Fourier transform has the first property: it changes derivatives and antiderivatives in multiplications and divisions. It also changes convolutions into multiplications. Obviously, there are some flip sides, but if you are lucky, it can transform some hard problems into solvable problems.
Now, the second and third point. The third is just a part of the second: if a transform is not stable, it is not easy to compute. But it bears spelling it out. What does stable mean? The mathematical term is "well-posed", vs "ill-posed". If the difference between two inputs is small, you don't want the difference between the outputs to be very large. In particular, if the difference between two inputs is below machine level precision, they are identical from the computational point of view. If the difference between the outputs is very, very large, then the output of the transform is computationally indeterminate. So the transform is useless.
Bear with me one more paragraph. For two inputs, the transform can either increase their relative distance, or decrease it. The separating case is when the transform preserves the distance, but that doesn't happen too often (well, hold that thought though). If a transform always decreases the distance, it's called a contraction, and it is a very stable transform; in particular, it's easy to implement it on a computer, you don't need to be too smart in order to deal with round-off errors, etc.
The problem with contractions is that the more stable they are the more unstable their inverses are.
A lot of transforms are contractions on a part of their domain and "anti-contractions" on a different part. And the "constant of contraction" can be very-very small on some parts, and "constant of expansion" very-very large on some other parts. So, you end up with a locally very unstable both direct transform and inverse transform.
For this reason, if you pick a random transform it's going to be quite useless. Most often, both the direct, or the inverse transform are unstable.
In some cases, the direct is very stable, but the inverse is not. That's the case for the Laplace transform. A few days ago we had a discussion on HN about a breakthrough claiming to solve the problem with the inverse Laplace transform. Time will tell, but if the claim is true, those guys will be hailed as heroes. A Nevanlinna prize is not unthinkable.
Now, the Fourier transform is that middle case between a contraction and an anti-contraction. It is an isometry. The theorem that states that is the Plancherel theorem [1]. People don't care that much about this theorem, it's not really that useful. But the fact that it holds, is what makes the Fourier transform so useful.
On top of that, there is a fast algorithm for the Fourier tranform, the appropriately named Fast Fourier Transform. This is the cherry on the top. It certainly doesn't hurt, but even if this algorithm didn't exist, the Fourier transform would still be really useful.
[1] https://en.wikipedia.org/wiki/Plancherel_theorem