1. A computer method of decoding a codeword, the method comprising: receiving the codeword over an information channel from a source, wherein the codeword indicates n cell values that comprise a virtual cell in which relative rank ordering of the n cell values determines a permutation comprising one of n! permutations; determining if the received codeword comprises a valid codeword of a rank modulation code wherein if the received codeword is determined to be a valid codeword, then computing a corresponding value for the codeword, and if the received codeword is determined not to be a valid codeword, then determining a corrected codeword that differs from the received codeword by a value r, where r is the number of errors in a codeword that the rank modulation code can correct, and computing a corresponding value for the corrected codeword.