Fix the DFT to broadcast properly

There are still lots of loose ends.