diff --git a/docs/src/module.md b/docs/src/module.md index f5abe07172..f80577412a 100644 --- a/docs/src/module.md +++ b/docs/src/module.md @@ -65,6 +65,7 @@ Return a Julia array of the generators of the module $M$. ```julia rels(M::FPModule{T}) where T <: RingElement +relations(M::FPModule{T}) where T <: RingElement ``` Return a Julia vector of all the relations between the generators of `M`. Each diff --git a/docs/src/module_interface.md b/docs/src/module_interface.md index f5e1e690a9..d5a6ced58a 100644 --- a/docs/src/module_interface.md +++ b/docs/src/module_interface.md @@ -89,6 +89,7 @@ Return a Julia array of the generators of the module $M$. ```julia rels(M::MyModule{T}) where T <: RingElement +relations(M::MyModule{T}) where T <: RingElement ``` Return a Julia vector of all the relations between the generators of `M`. Each diff --git a/src/exports.jl b/src/exports.jl index bca5c9225d..78d3e87736 100644 --- a/src/exports.jl +++ b/src/exports.jl @@ -505,6 +505,7 @@ export rational_function_field export reduce! export rel_series export rel_series_type +export relations export rels export rem! export remove diff --git a/src/generic/FreeModule.jl b/src/generic/FreeModule.jl index bc7ebd907d..dabaad9acc 100644 --- a/src/generic/FreeModule.jl +++ b/src/generic/FreeModule.jl @@ -24,7 +24,7 @@ elem_type(::Type{FreeModule{T}}) where T <: NCRingElement = FreeModuleElem{T} parent(m::FreeModuleElem{T}) where T <: NCRingElement = m.parent -function rels(M::FreeModule{T}) where T <: RingElement +function relations(M::FreeModule{T}) where T <: RingElement # there are no relations in a free module return Vector{dense_matrix_type(T)}(undef, 0) end diff --git a/src/generic/InvariantFactorDecomposition.jl b/src/generic/InvariantFactorDecomposition.jl index 0e61d854db..b33bccc821 100644 --- a/src/generic/InvariantFactorDecomposition.jl +++ b/src/generic/InvariantFactorDecomposition.jl @@ -32,7 +32,7 @@ end invariant_factors(N::SNFModule{T}) where T <: RingElement = N.invariant_factors -function rels(N::SNFModule{T}) where T <: RingElement +function relations(N::SNFModule{T}) where T <: RingElement T1 = dense_matrix_type(T) R = base_ring(N) invs = invariant_factors(N) diff --git a/src/generic/Module.jl b/src/generic/Module.jl index fa3a7119a6..8feba1d4ac 100644 --- a/src/generic/Module.jl +++ b/src/generic/Module.jl @@ -17,13 +17,22 @@ end @doc raw""" - rels(M::AbstractAlgebra.FPModule{T}) where T <: RingElement + relations(M::AbstractAlgebra.FPModule{T}) where T <: RingElement Return a vector of all the relations between generators of the given module, where each relation is given as row matrix. The relation matrix whose rows are the returned relations will be in reduced form (hnf/rref). + +This has a short alias `rels(M)`. +""" +relations(M::AbstractAlgebra.FPModule{T}) where T <: RingElement = M.rels::Vector{dense_matrix_type(T)} + +@doc raw""" + rels(M::AbstractAlgebra.FPModule{T}) where T <: RingElement + +Alias for `relations(M)`. """ -rels(M::AbstractAlgebra.FPModule{T}) where T <: RingElement = M.rels::Vector{dense_matrix_type(T)} +rels(M::AbstractAlgebra.FPModule{T}) where T <: RingElement = relations(M) @doc raw""" is_compatible(M::AbstractAlgebra.FPModule{T}, N::AbstractAlgebra.FPModule{T}) where T <: RingElement diff --git a/src/generic/exports.jl b/src/generic/exports.jl index d3c2a013a5..6f95c5f3b4 100644 --- a/src/generic/exports.jl +++ b/src/generic/exports.jl @@ -102,6 +102,7 @@ export prime export push_term! export reduce! export rel_series_type +export relations export rels export rescale! export retraction_map