Skip to content

Commit 81d89db

Browse files
authored
Large renaming (#251)
* Large renaming * update ci * Rename file monovec * Update use of mapcoefficients_nz * Update ci scripts * Fixes
1 parent d27239d commit 81d89db

Some content is hidden

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

41 files changed

+625
-576
lines changed

.github/workflows/ci.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ jobs:
2727
os: ubuntu-latest
2828
arch: x64
2929
steps:
30-
- uses: actions/checkout@v2
30+
- uses: actions/checkout@v3
3131
- uses: julia-actions/setup-julia@v1
3232
with:
3333
version: ${{ matrix.version }}
@@ -46,12 +46,12 @@ jobs:
4646
shell: julia --project=@. {0}
4747
run: |
4848
using Pkg
49-
Pkg.add(PackageSpec(name="TypedPolynomials", rev="bl/refactor"))
49+
Pkg.add(PackageSpec(name="TypedPolynomials", rev="bl/rename"))
5050
- name: DP#master
5151
shell: julia --project=@. {0}
5252
run: |
5353
using Pkg
54-
Pkg.add(PackageSpec(name="DynamicPolynomials", rev="master"))
54+
Pkg.add(PackageSpec(name="DynamicPolynomials", rev="bl/rename"))
5555
- uses: julia-actions/julia-buildpkg@v1
5656
- uses: julia-actions/julia-runtest@v1
5757
with:

.github/workflows/documentation.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,11 @@ jobs:
99
build:
1010
runs-on: ubuntu-latest
1111
steps:
12-
- uses: actions/checkout@v2
12+
- uses: actions/checkout@v3
1313
- uses: julia-actions/setup-julia@latest
1414
with:
15-
# Build documentation on Julia 1.0
16-
version: '1.0'
15+
# Build documentation on latest release
16+
version: '1'
1717
- name: Install dependencies
1818
run: julia --project=docs/ -e 'using Pkg; Pkg.develop(PackageSpec(path=pwd())); Pkg.instantiate()'
1919
- name: Build and deploy

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
| [![][docs-stable-img]][docs-stable-url] | [![Build Status][build-img]][build-url] | [![Gitter][gitter-img]][gitter-url] | [![DOI][zenodo-img]][zenodo-url] |
66
| [![][docs-latest-img]][docs-latest-url] | [![Codecov branch][codecov-img]][codecov-url] | [<img src="https://upload.wikimedia.org/wikipedia/commons/thumb/a/af/Discourse_logo.png/799px-Discourse_logo.png" width="64">][discourse-url] | |
77

8+
**WARNING** MultivariatePolynomials v0.5 has a few breaking changes including the change in the order of monomials. This means that the leading term will now appear last in the order of monomials instead of first.
9+
810
This package provides an interface for manipulating multivariate polynomials.
911
Implementing algorithms on polynomials using this interface will allow the algorithm to work for all polynomials implementing the interface.
1012

docs/src/types.md

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -12,25 +12,25 @@ variable
1212
name
1313
name_base_indices
1414
variable_union_type
15-
similarvariable
16-
@similarvariable
15+
similar_variable
16+
@similar_variable
1717
```
1818

1919
## Monomials
2020

2121
```@docs
2222
AbstractMonomialLike
2323
AbstractMonomial
24-
monomialtype
24+
monomial_type
2525
variables
2626
effective_variables
2727
nvariables
2828
exponents
2929
degree
3030
isconstant
3131
powers
32-
constantmonomial
33-
mapexponents
32+
constant_monomial
33+
map_exponents
3434
```
3535

3636
## Terms
@@ -39,12 +39,12 @@ mapexponents
3939
AbstractTermLike
4040
AbstractTerm
4141
term
42-
termtype
42+
term_type
4343
coefficient
4444
coefficienttype
4545
monomial
46-
constantterm
47-
zeroterm
46+
constant_term
47+
zero_term
4848
```
4949

5050
## Polynomials
@@ -53,7 +53,7 @@ zeroterm
5353
AbstractPolynomialLike
5454
AbstractPolynomial
5555
polynomial
56-
polynomialtype
56+
polynomial_type
5757
terms
5858
nterms
5959
coefficients
@@ -63,15 +63,15 @@ ordering
6363
mindegree
6464
maxdegree
6565
extdegree
66-
leadingterm
67-
leadingcoefficient
68-
leadingmonomial
69-
removeleadingterm
70-
removemonomials
66+
leading_term
67+
leading_coefficient
68+
leading_monomial
69+
remove_leading_term
70+
remove_monomials
7171
monic
72-
mapcoefficients
73-
mapcoefficients!
74-
mapcoefficients_to!
72+
map_coefficients
73+
map_coefficients!
74+
map_coefficients_to!
7575
```
7676

7777
## Rational Polynomial Function
@@ -82,9 +82,9 @@ The numerator and denominator polynomials can be retrieved by the `numerator` an
8282
## Monomial Vectors
8383

8484
```@docs
85-
monovec
86-
monovectype
87-
emptymonovec
88-
sortmonovec
89-
mergemonovec
85+
monomial_vector
86+
monomial_vector_type
87+
empty_monomial_vector
88+
sort_monomial_vector
89+
merge_monomial_vectors
9090
```

src/MultivariatePolynomials.jl

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ import LinearAlgebra
44

55
import DataStructures
66

7-
import MutableArithmetics
8-
const MA = MutableArithmetics
7+
import MutableArithmetics as MA
98

109
export AbstractPolynomialLike, AbstractTermLike, AbstractMonomialLike
10+
1111
"""
1212
AbstractPolynomialLike{T}
1313
@@ -69,7 +69,7 @@ include("variable.jl")
6969
include("monomial.jl")
7070
include("term.jl")
7171
include("polynomial.jl")
72-
include("monovec.jl")
72+
include("monomial_vector.jl")
7373
include("ordering.jl")
7474

7575
include("rational.jl")
@@ -95,4 +95,6 @@ include("default_term.jl")
9595
include("sequences.jl")
9696
include("default_polynomial.jl")
9797

98+
include("deprecate.jl")
99+
98100
end # module

src/comparison.jl

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,15 @@ Base.:(==)(x::RationalPoly, α::Nothing) = false
2323
Base.:(==)(α::Dict, x::RationalPoly) = false
2424
Base.:(==)(x::RationalPoly, α::Dict) = false
2525

26-
function polyeqterm(p::AbstractPolynomial, t)
26+
function right_term_eq(p::AbstractPolynomial, t)
2727
if iszero(p)
2828
iszero(t)
2929
else
3030
# terms/nterms ignore zero terms
31-
nterms(p) == 1 && leadingterm(p) == t
31+
nterms(p) == 1 && leading_term(p) == t
3232
end
3333
end
34-
polyeqterm(p::APL, t) = polyeqterm(polynomial(p), t)
34+
right_term_eq(p::APL, t) = right_term_eq(polynomial(p), t)
3535

3636
left_constant_eq(α, v::AbstractVariable) = false
3737
right_constant_eq(v::AbstractVariable, α) = false
@@ -44,8 +44,8 @@ function _term_constant_eq(t::AbstractTermLike, α)
4444
end
4545
left_constant_eq(α, t::AbstractTermLike) = _term_constant_eq(t, α)
4646
right_constant_eq(t::AbstractTermLike, α) = _term_constant_eq(t, α)
47-
left_constant_eq(α, p::APL) = polyeqterm(p, α)
48-
right_constant_eq(p::APL, α) = polyeqterm(p, α)
47+
left_constant_eq(α, p::APL) = right_term_eq(p, α)
48+
right_constant_eq(p::APL, α) = right_term_eq(p, α)
4949

5050
function Base.:(==)(mono::AbstractMonomial, v::AbstractVariable)
5151
return isone(degree(mono)) && variable(mono) == v
@@ -69,8 +69,8 @@ function Base.:(==)(t1::AbstractTerm, t2::AbstractTerm)
6969
c1 == c2 && monomial(t1) == monomial(t2)
7070
end
7171
end
72-
Base.:(==)(p::AbstractPolynomial, t::AbstractTerm) = polyeqterm(p, t)
73-
Base.:(==)(t::AbstractTerm, p::AbstractPolynomial) = polyeqterm(p, t)
72+
Base.:(==)(p::AbstractPolynomial, t::AbstractTerm) = right_term_eq(p, t)
73+
Base.:(==)(t::AbstractTerm, p::AbstractPolynomial) = right_term_eq(p, t)
7474

7575
function compare_terms(p1::AbstractPolynomial, p2::AbstractPolynomial, isz, op)
7676
i1 = 1
@@ -139,5 +139,5 @@ end
139139
Base.isapprox(p::RationalPoly, q::RationalPoly; kwargs...) = isapprox(p.num*q.den, q.num*p.den; kwargs...)
140140
Base.isapprox(p::RationalPoly, q::APL; kwargs...) = isapprox(p.num, q*p.den; kwargs...)
141141
Base.isapprox(p::APL, q::RationalPoly; kwargs...) = isapprox(p*q.den, q.num; kwargs...)
142-
Base.isapprox(q::RationalPoly{C}, α; kwargs...) where {C} = isapprox(q, constantterm(α, q.den); kwargs...)
143-
Base.isapprox(α, q::RationalPoly{C}; kwargs...) where {C} = isapprox(constantterm(α, q.den), q; kwargs...)
142+
Base.isapprox(q::RationalPoly{C}, α; kwargs...) where {C} = isapprox(q, constant_term(α, q.den); kwargs...)
143+
Base.isapprox(α, q::RationalPoly{C}; kwargs...) where {C} = isapprox(constant_term(α, q.den), q; kwargs...)

src/conversion.jl

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
export variable, convert_to_constant
22

3-
function convertconstant end
4-
Base.convert(::Type{P}, α) where P<:APL = convertconstant(P, α)
5-
function convertconstant(::Type{TT}, α) where {T,TT<:AbstractTerm{T}}
6-
return term(convert(T, α), constantmonomial(TT))
3+
function convert_constant end
4+
Base.convert(::Type{P}, α) where P<:APL = convert_constant(P, α)
5+
function convert_constant(::Type{TT}, α) where {T,TT<:AbstractTerm{T}}
6+
return term(convert(T, α), constant_monomial(TT))
77
end
8-
function convertconstant(::Type{PT}, α) where {PT<:AbstractPolynomial}
9-
return convert(PT, convert(termtype(PT), α))
8+
function convert_constant(::Type{PT}, α) where {PT<:AbstractPolynomial}
9+
return convert(PT, convert(term_type(PT), α))
1010
end
1111
function Base.convert(::Type{P}, p::APL) where {T, P<:AbstractPolynomial{T}}
1212
error("`convert` not implemented for $P")
@@ -40,10 +40,10 @@ function Base.convert(::Type{M}, t::AbstractTerm) where M <: AbstractMonomialLik
4040
end
4141
end
4242
function Base.convert(TT::Type{<:AbstractTerm{T}}, m::AbstractMonomialLike) where T
43-
return convert(TT, term(one(T), convert(monomialtype(TT), m)))
43+
return convert(TT, term(one(T), convert(monomial_type(TT), m)))
4444
end
4545
function Base.convert(TT::Type{<:AbstractTerm{T}}, t::AbstractTerm) where T
46-
return convert(TT, term(convert(T, coefficient(t)), convert(monomialtype(TT), monomial(t))))
46+
return convert(TT, term(convert(T, coefficient(t)), convert(monomial_type(TT), monomial(t))))
4747
end
4848

4949
# Base.convert(::Type{T}, t::T) where {T <: AbstractTerm} is ambiguous with above method.
@@ -54,9 +54,9 @@ end
5454

5555
function Base.convert(::Type{T}, p::AbstractPolynomial) where T <: AbstractTermLike
5656
if iszero(nterms(p))
57-
convert(T, zeroterm(p))
57+
convert(T, zero_term(p))
5858
elseif isone(nterms(p))
59-
convert(T, leadingterm(p))
59+
convert(T, leading_term(p))
6060
else
6161
throw(InexactError(:convert, T, p))
6262
end

0 commit comments

Comments
 (0)