Assuming you want a practical answer to "I have too many cards to hold in my hands at once; how do I shuffle them reasonably well in a relatively short amount of time?",
you might want to consider a "parallel shuffle", distributing the work over several players in hopes that we can get an adequately shuffled deck in less wall-clock minutes than a single-person shuffle, even if it requires more total operations and player-minutes than a single-person shuffle.
I am reminded of the "FFT butterfly diagram" used in digital signal processing and the "Omega Network" used in some computer clusters, based on the "perfect shuffle interconnection".
http://www.ece.ucsb.edu/~kastner/ece15b/project1/fft_description_files/image032.jpg
http://github.com/vijendra/Omega-network/raw/master/16X16.png
Parallel shuffle-deal-shuffle algorithm: (for $k \le n$)
- somehow give k players n cards each (either grab a block of n cards off the top for each player, or evenly deal the cards to the k players)
- shuffle: each of the k players uniformly shuffles their sub-deck of n cards
- deal: each of the k players evenly deals -- face down -- her sub-deck to the k other players (including herself). Equivalently, each player breaks her sub-deck into k equal sub-sub-decks, and distributes one sub-sub-deck to each player (including herself). After all the players have dealt, each player gathers her cards (a few from each player, including herself) into one sub-deck of n cards.
- shuffle: (as above)
By this stage (1 round), we have done the equivalent to randomizing each row of a matrix, then each column.
Any particular single card could be anywhere after one round of shuffle-deal-shuffle, with equal probability.
Alas, at this stage, there are still a few permutations that have probability zero.
For example, the possible permutations equivalent to a rotation by shear (RBS) ("how do I rotate a bitmap?") require 3 shears. The closest that a single round of shuffle-deal-shuffle can produce is 2 shears, which is not enough to produce those permutations.
So we continue with the second round:
- deal: (as above)
- shuffle: (as above)
- gather all the sub-decks into one large full deck
The full 2-round shuffle-deal-shuffle-deal-shuffle algorithm can produce any possible permutation, but each permutation does not have exactly the same probability.
Each of the two "deal" steps mixes at least as well as a single riffle shuffle of the entire kn cards. The paper -- by Dave Bayer and Persi Diaconis -- that David Speyer mentioned proves that $m = \frac{3}{2} \log_2 (kn) + \theta$ riffle shuffles are sufficient.