# torsionSubmodule -- create the torsion submodule of a module

## Synopsis

• Usage:
torsionSubmodule( M1 )
• Inputs:
• M1,
• Optional inputs:
• Strategy => , default value NoStrategy, specify a strategy for the internal call to reflexify
• KnownDomain => , default value false, assume the ambient ring is a domain for the internal call to reflexify
• Outputs:

## Description

Finds the torsion submodule of a module. It does this by computing the kernel of the map from M1 to its reflexification. The options Strategy and KnownDomain are passed along when the function reflexify is called.

 i1 : R = QQ[x,y]; i2 : m = ideal(x,y); o2 : Ideal of R i3 : M = (R^1/m) ++ R^1 o3 = cokernel | x y | | 0 0 | 2 o3 : R-module, quotient of R i4 : prune torsionSubmodule M o4 = cokernel | y x | 1 o4 : R-module, quotient of R