mirror of
https://github.com/kalmarek/GroupRings.jl.git
synced 2024-11-19 06:30:27 +01:00
update to AA-0.9
This commit is contained in:
parent
9225d2153f
commit
ef616f11bd
@ -6,9 +6,11 @@ version = "0.3.0"
|
||||
[deps]
|
||||
AbstractAlgebra = "c3fe647b-3220-5bb0-a1ea-a7954cac585d"
|
||||
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
|
||||
Markdown = "d6f4376e-aef5-505a-96c1-9c027394607a"
|
||||
SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
|
||||
|
||||
[compat]
|
||||
AbstractAlgebra = "^0.9.0"
|
||||
|
||||
[extras]
|
||||
Groups = "5d8bd718-bd84-11e8-3b40-ad14f4a32557"
|
||||
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
|
||||
|
@ -4,8 +4,7 @@ using AbstractAlgebra
|
||||
import AbstractAlgebra: Group, NCRing, NCRingElem, parent, elem_type, parent_type, addeq!, mul!
|
||||
|
||||
using SparseArrays
|
||||
using LinearAlgebra
|
||||
using Markdown
|
||||
import LinearAlgebra
|
||||
|
||||
import Base: convert, show, hash, ==, +, -, *, ^, //, /, length, getindex, setindex!, eltype, one, zero
|
||||
|
||||
@ -72,7 +71,7 @@ function GroupRingElem(c::AbstractVector, RG::GroupRing)
|
||||
return GroupRingElem{eltype(c), typeof(c), typeof(RG)}(c, RG)
|
||||
end
|
||||
|
||||
function GroupRing(G::Generic.PermGroup; cachedmul::Bool=false)
|
||||
function GroupRing(G::Generic.SymmetricGroup; cachedmul::Bool=false)
|
||||
return GroupRing(G, vec(collect(G)), cachedmul=cachedmul)
|
||||
end
|
||||
|
||||
@ -342,7 +341,7 @@ function -(X::GroupRingElem{S}, Y::GroupRingElem{T}) where {S, T}
|
||||
addeq!((-Y), X)
|
||||
end
|
||||
|
||||
@doc doc"""
|
||||
"""
|
||||
fmac!(result::AbstractVector{T},
|
||||
X::AbstractVector,
|
||||
Y::AbstractVector,
|
||||
@ -377,7 +376,7 @@ function fmac!(result::AbstractVector{T},
|
||||
return result
|
||||
end
|
||||
|
||||
@doc doc"""
|
||||
"""
|
||||
GRmul!(result::AbstractVector{T}, X::AbstractVector, Y::AbstractVector,
|
||||
pm::Matrix{<:Integer}) where T
|
||||
> The most specialised multiplication for `X` and `Y` (intended for `coeffs` of
|
||||
@ -399,7 +398,7 @@ function GRmul!(result::AbstractVector{T},
|
||||
return fmac!(result, X, Y, pm)
|
||||
end
|
||||
|
||||
@doc doc"""
|
||||
"""
|
||||
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
|
||||
|
@ -6,8 +6,8 @@ using SparseArrays
|
||||
|
||||
|
||||
@testset "GroupRings" begin
|
||||
@testset "Constructors: PermutationGroup" begin
|
||||
G = PermutationGroup(3)
|
||||
@testset "Constructors: SymmetricGroup" begin
|
||||
G = SymmetricGroup(3)
|
||||
|
||||
@test isa(GroupRing(G), AbstractAlgebra.NCRing)
|
||||
@test isa(GroupRing(G), GroupRing)
|
||||
@ -18,7 +18,7 @@ using SparseArrays
|
||||
@test isdefined(RG, :basis_dict) == true
|
||||
@test isdefined(RG, :pm) == false
|
||||
|
||||
@test isa(GroupRing(PermutationGroup(6), rand(1:6, 6,6)), GroupRing)
|
||||
@test isa(GroupRing(SymmetricGroup(6), rand(1:6, 6,6)), GroupRing)
|
||||
|
||||
RG = GroupRing(G, cachedmul=true)
|
||||
@test isdefined(RG, :pm) == true
|
||||
@ -76,7 +76,7 @@ using SparseArrays
|
||||
end
|
||||
|
||||
@testset "GroupRingElems constructors/basic manipulation" begin
|
||||
G = PermutationGroup(3)
|
||||
G = SymmetricGroup(3)
|
||||
RG = GroupRing(G, cachedmul=true)
|
||||
a = rand(6)
|
||||
@test isa(GroupRingElem(a, RG), GroupRingElem)
|
||||
@ -129,7 +129,7 @@ using SparseArrays
|
||||
end
|
||||
|
||||
@testset "Arithmetic" begin
|
||||
G = PermutationGroup(3)
|
||||
G = SymmetricGroup(3)
|
||||
RG = GroupRing(G, cachedmul=true)
|
||||
a = RG(ones(Int, order(G)))
|
||||
|
||||
@ -224,7 +224,7 @@ using SparseArrays
|
||||
|
||||
@testset "HPC multiplicative operations" begin
|
||||
|
||||
G = PermutationGroup(5)
|
||||
G = SymmetricGroup(5)
|
||||
RG = GroupRing(G, cachedmul=true)
|
||||
RG2 = GroupRing(G, cachedmul=false)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user