  We develop a new method to reconstruct the power spectrum of primordial
curvature perturbations, $P(k)$, by using both the temperature and polarization
spectra of the cosmic microwave background (CMB). We test this method using
several mock primordial spectra having non-trivial features including the one
with an oscillatory component, and find that the spectrum can be reconstructed
with a few percent accuracy by an iterative procedure in an ideal situation in
which there is no observational error in the CMB data. In particular, although
the previous ``cosmic inversion'' method, which used only the temperature
fluctuations, suffered from large numerical errors around some specific values
of $k$ that correspond to nodes in a transfer function, these errors are found
to disappear almost completely in the new method.
