Skip to content

Commit a964b06

Browse files
committed
adds some documentation for data types
1 parent ec9f1cb commit a964b06

File tree

4 files changed

+57
-33
lines changed

4 files changed

+57
-33
lines changed

docs/make.jl

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ using LinearAlgebra
44
using AlgebraicSolving
55
using Documenter
66

7+
push!(LOAD_PATH, "../src")
8+
79
include("../src/imports.jl")
810
include("../src/exports.jl")
911

@@ -22,6 +24,7 @@ makedocs(
2224
pages = Any[
2325
"Introduction" => "index.md",
2426
"User Guide" => Any[
27+
"Data Types" => "types.md",
2528
"Algorithms" => ["algorithms/groebner-bases.md",
2629
"algorithms/solvers.md"],
2730
"Examples" => "examples/katsura.md"

docs/mkdocs.yml

Lines changed: 0 additions & 21 deletions
This file was deleted.

docs/src/algorithms/groebner-bases.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -33,15 +33,15 @@ reverse lexicographical order. One can either directly add the number of
3333
variables of the first block via the `eliminate` parameter in the
3434
`groebner_basis` call. We have also implemented an alias for this call:
3535

36-
```@docs
37-
function eliminate(
38-
I::Ideal{T} where T <: MPolyElem,
39-
eliminate::Int,
40-
initial_hts::Int=17,
41-
nr_thrds::Int=1,
42-
max_nr_pairs::Int=0,
43-
la_option::Int=2,
44-
complete_reduction::Bool=true,
45-
info_level::Int=0
46-
)
47-
```
36+
%% ```@docs
37+
%% function eliminate(
38+
%% I::Ideal{T} where T <: MPolyElem,
39+
%% eliminate::Int,
40+
%% initial_hts::Int=17,
41+
%% nr_thrds::Int=1,
42+
%% max_nr_pairs::Int=0,
43+
%% la_option::Int=2,
44+
%% complete_reduction::Bool=true,
45+
%% info_level::Int=0
46+
%% )
47+
%% ```

docs/src/types.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
```@meta
2+
CurrentModule = AlgebraicSolving
3+
```
4+
5+
# Data Types
6+
7+
## Introduction
8+
9+
AlgebraicSolving handles ideals in multivariate polynomial rings over a prime
10+
field of characteristic $0$ or $p$ where $p$ is a prime number $<2^{31}$.
11+
12+
## Polynomial Rings
13+
14+
We use [Nemo](https://www.nemocas.org/index.html)'s multivariate polynomial
15+
ring structures:
16+
17+
```@repl
18+
using AlgebraicSolving
19+
R, (x,y,z) = PolynomialRing(QQ, ["x", "y", "z"], ordering=:degrevlex)
20+
```
21+
The above example defines a multivariate polynomial ring in three variables `x`,
22+
`y`, and `z` over the rationals using the dgree reverse lexicographical ordering
23+
for printing polynomials in the following. One can also define polynomial rings
24+
over finite fields:
25+
26+
```@repl
27+
using AlgebraicSolving
28+
R, (x,y,z) = PolynomialRing(GF(101), ["x", "y", "z"], ordering=:degrevlex)
29+
```
30+
31+
## Ideals
32+
33+
Ideals can be constructed by giving an array of generators. Ideals cache varies
34+
data structures connected to ideals in order to make computational algebra more
35+
effective:
36+
37+
```@repl
38+
using AlgebraicSolving
39+
R, (x,y,z) = PolynomialRing(QQ, ["x", "y", "z"], ordering=:degrevlex)
40+
I = Ideal([x+y+1, y*z^2-13*y^2])
41+
```
42+

0 commit comments

Comments
 (0)