Predicates

IsZero(M): ModMPol -> ModMPol

Given a module \(M\), return whether \(M\) is the zero module.

M subset N: ModMPol, ModMPol -> BoolElt

Given compatible modules \(M\) and \(N\) (ie, embedded in the same ambient module), return whether \(M\) is a submodule of \(N\). This will generally involve module Gröbner basis and normal form computations to check that the generators of \(M\) lie in \(N\).

M eq N: ModMPol, ModMPol -> BoolElt

Given compatible modules \(M\) and \(N\) (ie, embedded in the same ambient module), return whether \(M\) equals \(N\). The function checks that appropriate module Gröbner bases of \(M\) and \(N\) are equal.

IsFree(M): ModMPol -> BoolElt

Given an \(R\)-module \(M\), return whether \(M\) is free. \(M\) is free iff \(M\) is isomorphic to the module \(R^k\) for some \(k\). Such a \(k\) need not equal the degree of \(M\) but will equal the rank of \(M\) (as defined in the next section) if \(M\) is free. The function checks whether a minimised presentation of \(M\) has trivial relations or not.