  Feynman, in 1982, proposed the idea of using a quantum simulator to perform
quantum simulations. A quantum simulator is basically a controllable quantum
system that can mimic the dynamics of other quantum systems we wish to study.
In this thesis we investigate some aspects of quantum simulation using both
unitary and nonunitary controls. In the unitary part, we experimentally
simulated the phenomenon of quantum many-body freezing, and also developed a
general protocol to decompose an arbitrary unitary operator. In the nonunitary
part, we studied phase decoherence by artificially inducing it. We
characterized it by noise spectroscopy and quantum process tomography, and also
suppressed it by using standard dynamical decoupling techniques. While we use
nuclear spin systems in an NMR setup as our quantum testbed, most of the
concepts are general and are applicable elsewhere.
