  This paper is motivated by the computer-generated nonadditive ((5,6,2)) code
described in an article by Rains, Hardin, Shor and Sloane. We describe a theory
of non-stabilizer codes of which the nonadditive code of Rains et al is an
example. Furthermore, we give a general strategy of constructing good
nonstabilizer codes from good stabilizer codes and give some explicit
constructions and asymptotically good nonstabilizer codes. In fact, we
explicitly construct a family of distance 2 non-stabilizer codes over all
finite fields of which the ((5,6,2)) is an special example. More interestingly,
using our theory, we are also able to explicitly construct examples of
non-stablizer quantum codes of distance 3. Like in the case of stabilizer
codes, we can design fairly efficient encoding and decoding procedures.
