Whittle index is a generalization of Gittins index that provides very efficient allocation rules for restless multiarmed bandits. In this paper, we develop an algorithm to test the indexability and compute the Whittle indices of any finite-state Markovian bandit problem. This algorithm works in the discounted and non-discounted cases. As a byproduct, it can also be used to compute Gittins index. Our algorithm builds on three tools: (1) a careful characterization of Whittle index that allows one to compute recursively the 𝑘th smallest index from the (𝑘 − 1)th smallest, and to test indexability, (2) the use of Sherman-Morrison formula to make this recursive computation efficient, and (3) a sporadic use of fast matrix inversion and multiplication to obtain a subcubic complexity. We show that an efficient use of the Sherman-Morrison formula leads to an algorithm that computes Whittle index in (2⇑3)𝑛 3 + 𝑜(𝑛 3 ) arithmetic operations, where 𝑛 is the number of states of the arm. The careful use of fast matrix multiplication leads to the first subcubic algorithm to compute Whittle (or Gittins) index. By using the current fastest matrix multiplications, our algorithm runs in 𝑂(𝑛 2.5286). We also conduct a series of experiments that demonstrate that our algorithm is very efficient in practice and can compute indices of Markov chains with several thousands of states in a few seconds.