mirror of
https://github.com/kalmarek/GroupRings.jl.git
synced 2024-12-28 18:50:29 +01:00
Merge branch 'master' of github.com:kalmarek/GroupRings.jl
This commit is contained in:
commit
929269b941
@ -5,6 +5,7 @@ os:
|
||||
- osx
|
||||
julia:
|
||||
- 1.0
|
||||
- 1.1
|
||||
- nightly
|
||||
notifications:
|
||||
email: true
|
||||
@ -14,8 +15,6 @@ matrix:
|
||||
- julia: nightly
|
||||
|
||||
script:
|
||||
- julia -e 'using Pkg; pkg"add https://github.com/kalmarek/Groups.jl#enh/julia-v0.7"; Pkg.build(); Pkg.test(coverage=true);'
|
||||
- julia -e 'using Pkg; pkg"add https://github.com/kalmarek/Groups.jl"; Pkg.build(); Pkg.test(coverage=true);'
|
||||
|
||||
after_success:
|
||||
# push coverage results to Coveralls
|
||||
- julia -e 'import Pkg; Pkg.add("Coverage"); using Coverage; Codecov.submit(process_folder())'
|
||||
codecov: true
|
||||
|
@ -1 +1,9 @@
|
||||
# GroupRings
|
||||
|
||||
[![Build Status](https://travis-ci.org/kalmarek/GroupRings.jl.svg?branch=master)](https://travis-ci.org/kalmarek/GroupRings.jl)
|
||||
[![codecov](https://codecov.io/gh/kalmarek/GroupRings.jl/branch/master/graph/badge.svg)](https://codecov.io/gh/kalmarek/GroupRings.jl)
|
||||
|
||||
Please have a look at [tests](https://github.com/kalmarek/GroupRings.jl/blob/master/test/runtests.jl) to see how to use this package. It depends on [AbstractAlgebra.jl](https://github.com/Nemocas/AbstractAlgebra.jl) and [Groups.jl](https://github.com/kalmarek/GroupRings.jl)
|
||||
|
||||
For an example applications have a look at our papers:
|
||||
[1703.09680](https://arxiv.org/abs/1703.09680), [1712.07167](https://arxiv.org/abs/1712.07167) and [1812.03456](https://arxiv.org/abs/1812.03456).
|
||||
|
@ -301,11 +301,11 @@ function mul(a::T, X::GroupRingElem{S}) where {T<:Number, S<:Number}
|
||||
return GroupRingElem(a.*X.coeffs, parent(X))
|
||||
end
|
||||
|
||||
(*)(a::Number, X::GroupRingElem) = mul(a,X)
|
||||
(*)(X::GroupRingElem, a::Number) = mul(a,X)
|
||||
(*)(a::Number, X::GroupRingElem) = mul(a, X)
|
||||
(*)(X::GroupRingElem, a::Number) = mul(a, X)
|
||||
|
||||
# disallow Rings to hijack *(::, ::GroupRingElem)
|
||||
*(a::Union{AbstractFloat, Integer, RingElem, Rational}, X::GroupRingElem) = mul(a,X)
|
||||
*(a::Union{AbstractFloat, Integer, RingElem, Rational}, X::GroupRingElem) = mul(a, X)
|
||||
|
||||
(/)(X::GroupRingElem, a) = 1/a*X
|
||||
(//)(X::GroupRingElem, a::Union{Integer, Rational}) = 1//a*X
|
||||
@ -375,10 +375,8 @@ function fmac!(result::AbstractVector{T},
|
||||
end
|
||||
|
||||
@doc doc"""
|
||||
GRmul!(result::AbstractVector{T},
|
||||
X::AbstractVector,
|
||||
Y::AbstractVector,
|
||||
pm::Array{Int,2}) where {T<:Number}
|
||||
GRmul!(result::AbstractVector{T}, X::AbstractVector, Y::AbstractVector,
|
||||
pm::Matrix{<:Integer}) where {T<:Number}
|
||||
> The most specialised multiplication for `X` and `Y` (intended for `coeffs` of
|
||||
> `GroupRingElems`), using multiplication table `pm`.
|
||||
> Notes:
|
||||
@ -391,7 +389,7 @@ end
|
||||
function GRmul!(result::AbstractVector{T},
|
||||
X::AbstractVector,
|
||||
Y::AbstractVector,
|
||||
pm::Array{Int,2}) where {T<:Number}
|
||||
pm::AbstractMatrix{<:Integer}) where {T<:Number}
|
||||
z = zero(T)
|
||||
result .= z
|
||||
|
||||
@ -399,9 +397,7 @@ function GRmul!(result::AbstractVector{T},
|
||||
end
|
||||
|
||||
@doc doc"""
|
||||
mul!{T}(result::GroupRingElem{T},
|
||||
X::GroupRingElem,
|
||||
Y::GroupRingElem)
|
||||
mul!(result::GroupRingElem, X::GroupRingElem, Y::GroupRingElem)
|
||||
> In-place multiplication for `GroupRingElem`s `X` and `Y`.
|
||||
> `mul!` will make use the initialised entries of `pm` attribute of
|
||||
> `parent(X)::GroupRing` (if available), and will compute and store in `pm` the
|
||||
|
Loading…
Reference in New Issue
Block a user