Skip to content

Commit

Permalink
Js/nc groebner basis documentation (#1739)
Browse files Browse the repository at this point in the history
  • Loading branch information
julien-schanz authored Jul 9, 2024
1 parent 0b449a2 commit f97f91d
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 0 deletions.
13 changes: 13 additions & 0 deletions docs/src/free_associative_algebra.md
Original file line number Diff line number Diff line change
Expand Up @@ -229,6 +229,19 @@ generators of that ideal.
Since such a Groebner basis is not necessarily finite, one can additionally pass a `reduction_bound`
to the function, to only compute a partial Groebner basis.

```@docs
groebner_basis(g::Vector{FreeAssAlgElem{T}}, reduction_bound::Int = typemax(Int), remove_redundancies::Bool = false) where T <: FieldElement
normal_form(f::FreeAssAlgElem{T}, g::Vector{FreeAssAlgElem{T}}, aut::AhoCorasickAutomaton) where T
interreduce!(g::Vector{FreeAssAlgElem{T}}) where T
```

The implementation uses a non-commutative version of the Buchberger algorithm as described in
> Xingqiang Xiu,
> Non-commutative Gröbner Bases and Applications,
> PhD thesis, 2012.
**Examples**

```jldoctest; setup = :(using AbstractAlgebra)
Expand Down
3 changes: 3 additions & 0 deletions src/generic/FreeAssAlgebraGroebner.jl
Original file line number Diff line number Diff line change
Expand Up @@ -624,6 +624,9 @@ Compute a Groebner basis for the ideal generated by `g`. Stop when `reduction_bo
non-zero entries have been added to the Groebner basis. If the computation stops due to the bound being exceeded,
the result is in general not an actual Groebner basis, just a subset of one. However, whenever the normal form with
respect to this incomplete Groebner basis is `0`, it will also be `0` with respect to the full Groebner basis.
If `remove_redundancies` is set to true, some redundant obstructions will be removed during the computation, which might save
time, however in practice it seems to inflate the running time regularly.
"""
function groebner_basis(
g::Vector{FreeAssAlgElem{T}},
Expand Down

0 comments on commit f97f91d

Please sign in to comment.