Compression with the Burrows-Wheeler Transform
james.fabpedigree.com
james.fabpedigree.com
The inverse can be understood this way. Take the final table in the BWT algorithm, and erase all but the last column. Given only this information, you can easily reconstruct the first column. The last column tells you all the characters in the text, so just sort these characters to get the first column. Then, the first and last columns together give you all pairs of successive characters in the document, where pairs are taken cyclically so that the last and first character form a pair. Sorting the list of pairs gives the first and second columns. Continuing in this manner, you can reconstruct the entire list. Then, the row with the "end of file" character at the end is the original text.
Heng Li, the creator of MAQ, has recently released an aligner called BWA. The heart of BWA is the Burrows-Wheeler transform. The benefits? For genome research, they include a small memory footprint (<4GB), and fast exact matching of short reads to a reference.
Text compression, meet genomics. Genomics, meet compression.
7Zip builds on gzip, greatly expanding the window and using an arithmetic encoder at the tail end. It performs better in both time and space over bzip2, making both gzip and bzip2 obsolete