Merge branch 'master' into enh/julia-v0.6

This commit is contained in:
kalmarek 2017-11-15 20:31:03 +01:00
commit b2ed850bcc
1 changed files with 6 additions and 5 deletions

View File

@ -1,3 +1,4 @@
__precompile__()
module GroupRings module GroupRings
using Nemo using Nemo
@ -345,8 +346,8 @@ doc"""
X::AbstractVector, X::AbstractVector,
Y::AbstractVector, Y::AbstractVector,
pm::Array{Int,2}) pm::Array{Int,2})
> The most specialised multiplication for `X` and `Y` (`coeffs` of > The most specialised multiplication for `X` and `Y` (intended for `coeffs` of
> `GroupRingElems`) using multiplication table `pm`. > `GroupRingElems`), using multiplication table `pm`.
> Notes: > Notes:
> * this method will silently produce false results if `X[k]` is non-zero for > * this method will silently produce false results if `X[k]` is non-zero for
> `k > size(pm,1)`. > `k > size(pm,1)`.
@ -383,7 +384,7 @@ doc"""
> In-place multiplication for `GroupRingElem`s `X` and `Y`. > In-place multiplication for `GroupRingElem`s `X` and `Y`.
> `mul!` will make use the initialised entries of `pm` attribute of > `mul!` will make use the initialised entries of `pm` attribute of
> `parent(X)::GroupRing` (if available), and will compute and store in `pm` the > `parent(X)::GroupRing` (if available), and will compute and store in `pm` the
> remaining products. > remaining products necessary to perform the multiplication.
> The method will fail with `KeyError` if product `X*Y` is not supported on > The method will fail with `KeyError` if product `X*Y` is not supported on
> `parent(X).basis`. > `parent(X).basis`.
""" """
@ -418,9 +419,9 @@ function mul!{T}(result::GroupRingElem{T}, X::GroupRingElem, Y::GroupRingElem)
end end
end end
else else
for j::Int in 1:lY for j in 1:lY
if Y.coeffs[j] != z if Y.coeffs[j] != z
for i::Int in 1:lX for i in 1:lX
if X.coeffs[i] != z if X.coeffs[i] != z
result[RG.basis[i]*RG.basis[j]] += X[i]*Y[j] result[RG.basis[i]*RG.basis[j]] += X[i]*Y[j]
end end