#include <hom.h>
An instance of Hom is a homomorphism from a ring of type Source to a ring (usually field) of type Target. The intended use is that it will be a natural mapping. For instance:
Hom<Unparametric<Integers>, Modular<integer> >(Z, Zp) nat; // is the mod p mapping.
Hom<<NTL_ZZp, Modular<integer> >(Zp, Mp) nat;
// is an isomorphism, provided the Zp and Mp have same characteristic. Hom<Unparametric<NTL_ZZp, Unparameteric<NTL_ZZpEx> >(Z3, Z27) nat; // is the embedding of the prime field in the extension.