We develop three methods to invert induced polarization (IP) data. The foundation for our algorithms is an assumption that the ultimate effect of chargeability is to alter the effective conductivity when current is applied. This assumption, which was first put forth by Siegel and has been routinely adopted in the literature, permits the IP responses to be numerically modeled by carrying out two forward modelings using a DC resistivity algorithm. The intimate connection between DC and IP data means that inversion of IP data is a two-step process. First, the DC potentials are inverted to recover a background conductivity. The distribution of chargeability can then be found by using any one of the three following techniques: (1) linearizing the IP data equation and solving a linear inverse problem, (2) manipulating the conductivities obtained after performing two DC resistivity inversions, and (3) solving a nonlinear inverse problem. Our procedure for performing the inversion is to divide the earth into rectangular prisms and to assume that the conductivity sigma and chargeability eta are constant in each cell. To emulate complicated earth structure we allow many cells, usually far more than there are data. The inverse problem, which has many solutions, is then solved as a problem in optimization theory. A model objective function is designed, and a 'model' (either the distribution of sigma or eta ) is sought that minimizes the objective function subject to adequately fitting the data. Generalized subspace methodologies are used to solve both inverse problems, and positivity constraints are included. The IP inversion procedures we design are generic and can be applied to 1-D, 2-D, or 3-D earth models and with any configuration of current and potential electrodes. We illustrate our methods by inverting synthetic DC/IP data taken over a 2-D earth structure and by inverting dipole-dipole data taken in Quebec.