Skip to content

Commit 181f3e9

Browse files
authored
Merge branch 'master' into lg/req-is-not-trivial
2 parents b274c89 + a68dfd3 commit 181f3e9

File tree

238 files changed

+7701
-3738
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

238 files changed

+7701
-3738
lines changed

.github/dependabot.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
2+
version: 2
3+
updates:
4+
- package-ecosystem: "github-actions"
5+
directory: "/" # Location of package manifests
6+
schedule:
7+
interval: "monthly"

.github/workflows/CI.yml

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,10 @@ jobs:
2626
fail-fast: false
2727
matrix:
2828
julia-version:
29-
- '1.6'
3029
- '1.10'
3130
- '1.11'
31+
- '1.12'
32+
- '1.13-nightly'
3233
- 'nightly'
3334
os:
3435
- ubuntu-latest
@@ -40,7 +41,7 @@ jobs:
4041
os: windows-latest
4142

4243
steps:
43-
- uses: actions/checkout@v4
44+
- uses: actions/checkout@v6
4445
with:
4546
# For Codecov, we must also fetch the parent of the HEAD commit to
4647
# be able to properly deal with PRs / merges
@@ -65,22 +66,23 @@ jobs:
6566
Pkg.develop(PackageSpec(path=pwd()))
6667
Pkg.instantiate()
6768
using Documenter
69+
include("docs/documenter_helpers.jl")
6870
using AbstractAlgebra
6971
DocMeta.setdocmeta!(AbstractAlgebra, :DocTestSetup, AbstractAlgebra.doctestsetup(); recursive = true)
7072
doctest(AbstractAlgebra)'
7173
- name: "Process code coverage"
7274
uses: julia-actions/julia-processcoverage@v1
7375
- name: "Upload coverage data to Codecov"
7476
continue-on-error: true
75-
uses: codecov/codecov-action@v4
77+
uses: codecov/codecov-action@v5
7678
with:
7779
token: ${{ secrets.CODECOV_TOKEN }}
7880

7981
docs:
8082
name: Documentation
8183
runs-on: ubuntu-latest
8284
steps:
83-
- uses: actions/checkout@v4
85+
- uses: actions/checkout@v6
8486
- uses: julia-actions/setup-julia@v2
8587
with:
8688
version: '1.10'

.github/workflows/hecke.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ jobs:
2828
PR_NUMBER: ${{github.event.number || '0' }}
2929
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
3030
steps:
31-
- uses: actions/checkout@v4
31+
- uses: actions/checkout@v6
3232
- name: "Set up Julia"
3333
uses: julia-actions/setup-julia@v2
3434
with:
@@ -68,8 +68,9 @@ jobs:
6868
fail-fast: false
6969

7070
steps:
71-
- uses: actions/checkout@v4
71+
- uses: actions/checkout@v6
7272
- name: "Set up Julia"
73+
id: setup-julia
7374
uses: julia-actions/setup-julia@v2
7475
with:
7576
version: ${{ matrix.julia-version }}

.github/workflows/nemo.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ jobs:
2828
PR_NUMBER: ${{github.event.number || '0' }}
2929
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
3030
steps:
31-
- uses: actions/checkout@v4
31+
- uses: actions/checkout@v6
3232
- name: "Set up Julia"
3333
uses: julia-actions/setup-julia@v2
3434
with:
@@ -68,7 +68,7 @@ jobs:
6868
fail-fast: false
6969

7070
steps:
71-
- uses: actions/checkout@v4
71+
- uses: actions/checkout@v6
7272
- name: "Set up Julia"
7373
uses: julia-actions/setup-julia@v2
7474
with:

.github/workflows/oscar.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ jobs:
2828
PR_NUMBER: ${{github.event.number || '0' }}
2929
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
3030
steps:
31-
- uses: actions/checkout@v4
31+
- uses: actions/checkout@v6
3232
- name: "Set up Julia"
3333
uses: julia-actions/setup-julia@v2
3434
with:
@@ -68,8 +68,9 @@ jobs:
6868
fail-fast: false
6969

7070
steps:
71-
- uses: actions/checkout@v4
71+
- uses: actions/checkout@v6
7272
- name: "Set up Julia"
73+
id: setup-julia
7374
uses: julia-actions/setup-julia@v2
7475
with:
7576
version: ${{ matrix.julia-version }}

.github/workflows/singular.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ jobs:
2828
PR_NUMBER: ${{github.event.number || '0' }}
2929
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
3030
steps:
31-
- uses: actions/checkout@v4
31+
- uses: actions/checkout@v6
3232
- name: "Set up Julia"
3333
uses: julia-actions/setup-julia@v2
3434
with:
@@ -68,8 +68,9 @@ jobs:
6868
fail-fast: false
6969

7070
steps:
71-
- uses: actions/checkout@v4
71+
- uses: actions/checkout@v6
7272
- name: "Set up Julia"
73+
id: setup-julia
7374
uses: julia-actions/setup-julia@v2
7475
with:
7576
version: ${{ matrix.julia-version }}

CHANGELOG.md

Lines changed: 195 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,195 @@
1+
# Changelog
2+
3+
All notable changes to this project will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project
6+
tries to adhere to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7+
8+
## [0.47.0] - 2025-09-06
9+
10+
### BREAKING
11+
- [#2132](https://github.com/Nemocas/AbstractAlgebra.jl/pull/2132) Add `fraction_field_type` and define `fraction_field` method for fields
12+
- [#2144](https://github.com/Nemocas/AbstractAlgebra.jl/pull/2144) Remove `base_ring` methods returning `Union{}`
13+
- [#2145](https://github.com/Nemocas/AbstractAlgebra.jl/pull/2145) Add `identity_map` to excluded imports
14+
- [#2150](https://github.com/Nemocas/AbstractAlgebra.jl/pull/2150) Stop printing `1` in factorizations
15+
- [#2153](https://github.com/Nemocas/AbstractAlgebra.jl/pull/2153) Throw for `leading/trailing_coefficient` of the zero polynomial in multivariate setting
16+
17+
## [0.45.0] - 2025-05-15
18+
19+
### BREAKING
20+
- [#2003](https://github.com/Nemocas/AbstractAlgebra.jl/pull/2003) Remove `ignore_kwargs` option from `@attr`, that was deprecated in 0.44.4
21+
- [#2002](https://github.com/Nemocas/AbstractAlgebra.jl/pull/2002) Various changes to the conformance test setup:
22+
- Conformance tests are no longer loaded by including some file from the `test` directory, but are put into the submodule `ConformanceTests`, which only contains function stubs. The implementations get added by a package extension triggered by `Test`.
23+
- Thus, all code calling a function from the conformance tests (`test_mutating_op_*`, `test_*_interface(_recursive)`) needs to qualify the call with `ConformanceTests.`.
24+
- `test_elem` got renamed to `ConformanceTests.generate_element` and its implementations need to be moved form `test` to `src`.
25+
- [#2006](https://github.com/Nemocas/AbstractAlgebra.jl/pull/2006) Make `RationalFunctionFieldElem` immutable, remove a constructor method
26+
- [#1809](https://github.com/Nemocas/AbstractAlgebra.jl/pull/1809) Allow more inputs for `gens(::UniversalPolyRing, ...)` and change its return type from `Tuple` to `Vector`
27+
28+
### Added
29+
30+
- [#2072](https://github.com/Nemocas/AbstractAlgebra.jl/pull/2072) Implement `is_perfect` for `RationalFunctionField`
31+
- [#2081](https://github.com/Nemocas/AbstractAlgebra.jl/pull/2081) Move `Infinity.jl` from Nemo
32+
- [#2082](https://github.com/Nemocas/AbstractAlgebra.jl/pull/2082) Move parts of Oscar's `MoveToAbstractAlgebra.jl` over
33+
34+
### Changed
35+
36+
- [#2071](https://github.com/Nemocas/AbstractAlgebra.jl/pull/2071) Fix some cases where evaluating a multivariate polynomial returned an object of the wrong type
37+
38+
39+
## [0.44.13] - 2025-05-07
40+
41+
### Changed
42+
43+
- [#2061](https://github.com/Nemocas/AbstractAlgebra.jl/pull/2061) Fix a promote issue for `AbsMSeries` over Poly tower
44+
- [#2065](https://github.com/Nemocas/AbstractAlgebra.jl/pull/2065) Fix `swap_cols!` for `Matrix{T}`
45+
- [#2068](https://github.com/Nemocas/AbstractAlgebra.jl/pull/2068) Remove bad generic `sqrt` method that could lead to stack overflow
46+
- [#2069](https://github.com/Nemocas/AbstractAlgebra.jl/pull/2069) Fix `canonical_unit` methods returning zero
47+
48+
## [0.44.12] - 2025-04-25
49+
50+
### Added
51+
52+
- [#2039](https://github.com/Nemocas/AbstractAlgebra.jl/pull/2039) Add generic `shift_left!` and `shift_right!` for univariate polynomials
53+
- [#2047](https://github.com/Nemocas/AbstractAlgebra.jl/pull/2047) Add `falling_factorial`
54+
55+
### Changed
56+
57+
- [#2058](https://github.com/Nemocas/AbstractAlgebra.jl/pull/2058) Improve `to_univariate(::MPoly)`
58+
- [#2056](https://github.com/Nemocas/AbstractAlgebra.jl/pull/2056) Fix typo in `isomorphism(::Type{T}, ::T) where T <: Group` code
59+
- [#2054](https://github.com/Nemocas/AbstractAlgebra.jl/pull/2054) Fix stack overflow when constructing non-implemented views
60+
- [#2048](https://github.com/Nemocas/AbstractAlgebra.jl/pull/2048) Enable point views of matrices
61+
62+
## [0.44.11] - 2025-03-28
63+
64+
### Added
65+
66+
### Changed
67+
68+
- [#2042](https://github.com/Nemocas/AbstractAlgebra.jl/pull/2042) Fix unwanted poly modification during evaluation
69+
70+
## [0.44.10] - 2025-03-19
71+
72+
### Added
73+
74+
- [#2035](https://github.com/Nemocas/AbstractAlgebra.jl/pull/2035) Add stub for `is_equal_as_morphism`
75+
- [#2036](https://github.com/Nemocas/AbstractAlgebra.jl/pull/2036) Add stub for `isomorphism(::Type{<:Group}, ::Group)`
76+
77+
### Changed
78+
79+
- [#2037](https://github.com/Nemocas/AbstractAlgebra.jl/pull/2037) Remove broken `is_unit` and `is_nilpotent` for `NCPolyRingElem`
80+
- [#2033](https://github.com/Nemocas/AbstractAlgebra.jl/pull/2033) Optimize `gen(::MPolyRing, ::Int)` for `:deglex` and `:degrevlex`
81+
82+
## [0.44.9] - 2025-03-10
83+
84+
### Added
85+
86+
- [#2020](https://github.com/Nemocas/AbstractAlgebra.jl/pull/2020) Add `is_separable` for univariate polynomials
87+
- [#2017](https://github.com/Nemocas/AbstractAlgebra.jl/pull/2017) Add `is_positive_entry` and `is_negative_entry` for matrices
88+
- [#2023](https://github.com/Nemocas/AbstractAlgebra.jl/pull/2023) Add `reverse!` for polynomials
89+
- [#2023](https://github.com/Nemocas/AbstractAlgebra.jl/pull/2023) Add 2-argument `pow!` method delegating to the existing 3-argument version
90+
91+
### Changed
92+
93+
- [#2018](https://github.com/Nemocas/AbstractAlgebra.jl/pull/2018) More intuitive polynomial evaluation
94+
- [#2011](https://github.com/Nemocas/AbstractAlgebra.jl/pull/2011) Add some missing `check_parent` in MPoly arithmetics
95+
- [#2007](https://github.com/Nemocas/AbstractAlgebra.jl/pull/2007) Wrap `MPoly` factorization for `UnivPoly`
96+
97+
## [0.44.8] - 2025-02-23
98+
99+
### Added
100+
101+
- [#2001](https://github.com/Nemocas/AbstractAlgebra.jl/pull/2001) Add `minors_with_position` and `minors_iterator_with_position`
102+
- [#2004](https://github.com/Nemocas/AbstractAlgebra.jl/pull/2004) Add `divides!`
103+
104+
### Changed
105+
106+
- [#1993](https://github.com/Nemocas/AbstractAlgebra.jl/pull/1993) Allow creating `UniversalPolyRing` with variables
107+
- [#1998](https://github.com/Nemocas/AbstractAlgebra.jl/pull/1998) Fix `is_finite` for rational function fields
108+
109+
## [0.44.7] - 2025-02-17
110+
111+
### Added
112+
113+
### Changed
114+
115+
- [#1999](https://github.com/Nemocas/AbstractAlgebra.jl/pull/1999) Delegate factorization for function fields to `FracField` over polynomial rings
116+
- [#1999](https://github.com/Nemocas/AbstractAlgebra.jl/pull/1999) Make `rand` for function fields produce reduced fractions
117+
118+
## [0.44.6] - 2025-02-13
119+
120+
### Added
121+
122+
- [#1991](https://github.com/Nemocas/AbstractAlgebra.jl/pull/1991) Add `is_zero(::NCRing)` as an alias of `is_trivial`
123+
124+
### Changed
125+
126+
- [#1995](https://github.com/Nemocas/AbstractAlgebra.jl/pull/1995) Add `is_finite` for rational function fields and allow omitting the variable name in `rational_function_field` (then `t` is used)
127+
- [#1978](https://github.com/Nemocas/AbstractAlgebra.jl/pull/1978) Import more `ConformanceTests` stuff into `TestExt`
128+
129+
## [0.44.5] - 2025-02-07
130+
131+
### Added
132+
133+
- [#1973](https://github.com/Nemocas/AbstractAlgebra.jl/pull/1973) Enable multivariate factorization in characteristic 0 (at least over coefficient rings for which univariate factorization is implemented)
134+
- [#1974](https://github.com/Nemocas/AbstractAlgebra.jl/pull/1974) Add stub for `is_known`
135+
- [#1962](https://github.com/Nemocas/AbstractAlgebra.jl/pull/1962) Add changelog file
136+
- [#1970](https://github.com/Nemocas/AbstractAlgebra.jl/pull/1970) Add `content(::UnivPoly)`
137+
- [#1954](https://github.com/Nemocas/AbstractAlgebra.jl/pull/1954) Move conformance tests to a package extension `TestExt`
138+
139+
### Changed
140+
141+
- [#1982](https://github.com/Nemocas/AbstractAlgebra.jl/pull/1982) Improve matrix documentation
142+
- [#1983](https://github.com/Nemocas/AbstractAlgebra.jl/pull/1983) Optimize `gens` for universal polynomials
143+
- [#1977](https://github.com/Nemocas/AbstractAlgebra.jl/pull/1977) Don't mention `charpoly_only` in docstrings, it is an internal helper
144+
- [#1975](https://github.com/Nemocas/AbstractAlgebra.jl/pull/1975) Improve documentation of `add_verbosity_scope`
145+
- [#1970](https://github.com/Nemocas/AbstractAlgebra.jl/pull/1970) Fix potentially wrong result in `content(::MatrixElem)`
146+
- [#1970](https://github.com/Nemocas/AbstractAlgebra.jl/pull/1970) Optimize a few `content` methods
147+
- [#1971](https://github.com/Nemocas/AbstractAlgebra.jl/pull/1971) Remove misleading `content` method
148+
- [#1972](https://github.com/Nemocas/AbstractAlgebra.jl/pull/1972) Fix docstring for `divides` promising too much
149+
150+
## [0.44.4] - 2025-01-22
151+
152+
### Added
153+
154+
### Changed
155+
156+
- [#1966](https://github.com/Nemocas/AbstractAlgebra.jl/pull/1966) Ignore all kwargs in `@attr` (deprecating `ignore_kwargs`)
157+
- [#1967](https://github.com/Nemocas/AbstractAlgebra.jl/pull/1967) Fix the argument check in `remove` for `MPolyRingElem`
158+
159+
160+
## [0.44.3] - 2025-01-17
161+
162+
### Added
163+
164+
- Add conformance tests for `MPolyRing`, and fix bugs in `^` and `is_unit` for `MPoly` [PR
165+
#1950](https://github.com/Nemocas/AbstractAlgebra.jl/pull/1950)
166+
167+
- Add optional `ignore_kwargs` argument to `@attr` macro [PR
168+
#1958](https://github.com/Nemocas/AbstractAlgebra.jl/pull/1958)
169+
170+
### Changed
171+
172+
- Don't require `base_ring` in ring conformance tests [issue
173+
#1944](https://github.com/Nemocas/AbstractAlgebra.jl/issues/1944) [PR
174+
#1946](https://github.com/Nemocas/AbstractAlgebra.jl/pull/1946)
175+
176+
- Fix promotion for matrix-scalar operations [PR
177+
#1949](https://github.com/Nemocas/AbstractAlgebra.jl/pull/1949)
178+
179+
- Some internal enhancements
180+
181+
## [0.44.2] - 2024-12-22
182+
183+
### Changed
184+
185+
- Make `is_exact_type` and `is_domain_type` more convenient by
186+
having them accept rings and ring elements (not just types) [PR
187+
#1942](https://github.com/Nemocas/AbstractAlgebra.jl/pull/1942)
188+
189+
### Fixed
190+
191+
- Fix `is_unit` for univariate and multivariate polynomials over `Z/nZ` [issue
192+
#11](https://github.com/Nemocas/AbstractAlgebra.jl/issues/11) [PR
193+
#1933](https://github.com/Nemocas/AbstractAlgebra.jl/pull/1933)
194+
195+
- Fix show method for MatSpace [PR #1934](https://github.com/Nemocas/AbstractAlgebra.jl/pull/1934)

OscarCI.toml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,3 +17,13 @@ title = "metadata for oscar CI run"
1717

1818
[pkgs.Hecke]
1919
test = false
20+
21+
22+
[include]
23+
[include.justoscarmaster]
24+
Oscar = "master"
25+
Singular = "release"
26+
Hecke = "release"
27+
Nemo = "release"
28+
julia-version = "1.10"
29+
os = "ubuntu-latest"

Project.toml

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name = "AbstractAlgebra"
22
uuid = "c3fe647b-3220-5bb0-a1ea-a7954cac585d"
3-
version = "0.43.10"
3+
version = "0.47.4"
44

55
[deps]
66
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
@@ -9,14 +9,19 @@ Preferences = "21216c6a-2e73-6563-6e65-726566657250"
99
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
1010
RandomExtensions = "fb686558-2515-59ef-acaa-46db3789a887"
1111
SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
12+
13+
[weakdeps]
1214
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
1315

16+
[extensions]
17+
TestExt = "Test"
18+
1419
[compat]
15-
LinearAlgebra = "1.6"
20+
LinearAlgebra = "1.10"
1621
MacroTools = "0.5"
1722
Preferences = "1"
18-
Random = "1.6"
23+
Random = "1.10"
1924
RandomExtensions = "0.4.2"
2025
SparseArrays = "1.6"
21-
Test = "1.6"
22-
julia = "1.6"
26+
Test = "1.10"
27+
julia = "1.10"

docs/Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@ AbstractAlgebra = "c3fe647b-3220-5bb0-a1ea-a7954cac585d"
33
Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4"
44

55
[compat]
6-
Documenter = "1.0"
6+
Documenter = "1.16"

0 commit comments

Comments
 (0)