Linear programming (LP) decoding, originally proposed by Feldman et al. [4] as an approximation to the maximum-likelihood (ML) decoding of binary linear codes, solves a linear optimization problem formed by relaxing each of the finite-field parity-check constraints into a number of linear constraints.While providing a number of advantages over iterative message-passing (IMP) decoders, such as its amenability to finite-length performance analysis, LP decoding is computationally more complex to implement in its original form than IMP decoding, due to both the large size of the relaxed LP problem and the inefficiency of using general-purpose LP solvers. This paper explores ideas for fast LP decoding of low-density parity-check (LDPC) codes. We first show a number of properties of the LP decoder, and by modifying the previously reported Adaptive LP decoding scheme [9] to allow removal of unnecessary constraints, we prove that LP decoding can be performed by solving a number of LP problems that contain at most one linear constraint derived from each of the parity-check constraints. Then, as a step toward designing an efficient LP solver that takes advantage of the particular structure of LDPC codes, we study a sparse interior-point method for solving this sequence of linear programs. Since the most complex part of each iteration of the interiorpoint algorithm is the solution of a (usually ill-conditioned) system of linear equations for finding the step direction, we propose a preconditioning algorithm to be used with the preconditioned conjugategradient method for solving such systems. The proposed preconditioning algorithm is similar to the encoding procedure of LDPC codes, and we demonstrate its effectiveness via both analytical methods and computer simulation results.