  There are two complementary approaches to realizing quantum information so
that it is protected from a given set of error operators. Both involve encoding
information by means of subsystems. One is initialization-based error
protection, which involves a quantum operation that is applied before error
events occur. The other is operator quantum error correction, which uses a
recovery operation applied after the errors. Together, the two approaches make
it clear how quantum information can be stored at all stages of a process
involving alternating error and quantum operations. In particular, there is
always a subsystem that faithfully represents the desired quantum information.
We give a definition of faithful realization of quantum information and show
that it always involves subsystems. This justifies the "subsystems principle"
for realizing quantum information. In the presence of errors, one can make use
of noiseless, (initialization) protectable, or error-correcting subsystems. We
give an explicit algorithm for finding optimal noiseless subsystems. Finding
optimal protectable or error-correcting subsystems is in general difficult.
Verifying that a subsystem is error-correcting involves only linear algebra. We
discuss the verification problem for protectable subsystems and reduce it to a
simpler version of the problem of finding error-detecting codes.
