  Subsystem codes protect quantum information by encoding it in a tensor factor
of a subspace of the physical state space. Subsystem codes generalize all major
quantum error protection schemes, and therefore are especially versatile. This
paper introduces numerous constructions of subsystem codes. It is shown how one
can derive subsystem codes from classical cyclic codes. Methods to trade the
dimensions of subsystem and co-subystem are introduced that maintain or improve
the minimum distance. As a consequence, many optimal subsystem codes are
obtained. Furthermore, it is shown how given subsystem codes can be extended,
shortened, or combined to yield new subsystem codes. These subsystem code
constructions are used to derive tables of upper and lower bounds on the
subsystem code parameters.
