update to julia v0.6.0

This commit is contained in:
kalmarek 2017-09-15 18:16:31 +02:00
parent 0693455656
commit 5ac2876e31
2 changed files with 12 additions and 10 deletions

View File

@ -6,15 +6,15 @@ include("Projections.jl")
# #
############################################################################### ###############################################################################
type FFEltsIter{T<:Nemo.FinField} mutable struct FFEltsIter{T<:Generic.FinField}
all::Int all::Int
field::T field::T
function FFEltsIter(F::T) function FFEltsIter{T}(F::T) where {T}
return new(Int(characteristic(F)^degree(F)), F) return new(Int(characteristic(F)^degree(F)), F)
end end
end end
FFEltsIter{T<:Nemo.FinField}(F::T) = FFEltsIter{T}(F) FFEltsIter(F::T) where {T<:Nemo.FinField} = FFEltsIter{T}(F)
import Base: start, next, done, eltype, length import Base: start, next, done, eltype, length

View File

@ -4,13 +4,13 @@
# #
############################################################################### ###############################################################################
abstract AbstractCharacter <: Function abstract type AbstractCharacter <: Function end
immutable PermCharacter <: AbstractCharacter struct PermCharacter <: AbstractCharacter
p::Partition p::Partition
end end
immutable DirectProdCharacter <: AbstractCharacter struct DirectProdCharacter <: AbstractCharacter
i::Int i::Int
end end
@ -90,19 +90,21 @@ function idempotents(RG::GroupRing{PermGroup}, T::Type=Rational{Int})
return unique(idems) return unique(idems)
end end
function rankOne_projection{S}(chi::PropertyT.PermCharacter, idems::Vector{GroupRingElem{S}}) function rankOne_projection(chi::PropertyT.PermCharacter, idems::Vector{S}) where {S<:GroupRingElem}
RG = parent(first(idems)) RG = parent(first(idems))
ids = [[one(RG, S)]; idems] T = eltype(first(idems))
ids = [[one(RG, T)]; idems]
for (i,j,k) in Base.product(ids, ids, ids) for (i,j,k) in Base.product(ids, ids, ids)
if chi(i) == zero(S) || chi(j) == zero(S) || chi(k) == zero(S) if chi(i) == zero(T) || chi(j) == zero(T) || chi(k) == zero(T)
continue continue
end end
elt = i*j*k elt = i*j*k
elt^2 == elt || continue elt^2 == elt || continue
if chi(elt) == one(S) if chi(elt) == one(T)
return elt return elt
# return (i,j,k) # return (i,j,k)
end end