Two modules are isomorphic if there a homomorphism $f:M \to N$ which is both injective and surjective, or equivalently if there is a surjection in each direction. These routines produce random combinations of the generators of Hom and test for a homomorphism which is both injective and surjective.
Note that it suffices to check surjectivity after tensoring with the residue field, so in a future version we may instead check for surjections in both directions.
Mike Stillman and Devlin Mallory contributed to this package.
This documentation describes version 2.0 of Isomorphism.
If you have used this package in your research, please cite it as follows:
|
The object Isomorphism is a package, defined in Isomorphism.m2.
The source of this document is in Isomorphism.m2:528:0.