length of GroupRingElem is the size of its support

This commit is contained in:
kalmar 2017-05-18 17:56:46 +02:00
parent c7477dd25f
commit e3fa702507
1 changed files with 3 additions and 3 deletions

View File

@ -119,8 +119,8 @@ function (RG::GroupRing)(g::GroupElem, T::Type=Int)
end
function (RG::GroupRing)(x::AbstractVector)
length(x) == length(RG.basis) || throw("Can not coerce to $RG: lengths differ")
result = RG(eltype(x))
length(x) == length(result) || throw("Can not coerce to $RG: lengths differ")
result.coeffs = x
return result
end
@ -184,7 +184,7 @@ function show(io::IO, X::GroupRingElem)
if X == RG(T)
print(io, "$(zero(T))*$((RG.group)())")
else
elts = ("$(X[i])*$(RG.basis[i])" for i in 1:length(X) if X[i] != zero(T))
elts = ("$(X[i])*$(RG.basis[i])" for i in 1:length(RG.basis) if X[i] != zero(T))
join(io, elts, " + ")
end
end
@ -341,7 +341,7 @@ end
#
###############################################################################
length(X::GroupRingElem) = length(X.coeffs)
length(X::GroupRingElem) = countnz(X.coeffs)
norm(X::GroupRingElem, p=2) = norm(X.coeffs, p)