1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
--- status: Draft
--- author(s): Gregory G. Smith
--- notes:
document {
Key => {isFreeModule, (isFreeModule, Thing), (isFreeModule, Module)},
Headline => "whether something is a free module",
Usage => "isFreeModule M",
Inputs => {
"M" => Thing
},
Outputs => {
Boolean => {TO "true", " if the given representation of ", TT "M",
" is a free module and ", TO "false", " otherwise"}
},
"This function checks if the module ", TT "M", " is equal to its ", TO "ambient",
" free module by examining its matrix of ", TO2((generators, Module),"generators"),
" and its matrix of ", TO2((relations, Module),"relations"), ".",
PARA{},
"To determine whether ", TT "M", " is isomorphic to a free module, use ",
TO "prune", " ", TT "M", ".",
EXAMPLE {
"R = ZZ/7[x,y];",
"M = kernel vars R",
"isFreeModule M",
"isFreeModule prune M"
},
SeeAlso => {ambient,(prune,Module)}
}
|