mirror of
https://github.com/kalmarek/GroupRings.jl.git
synced 2024-12-29 11:00:28 +01:00
Merge branch 'master' into enh/julia-v0.6
This commit is contained in:
commit
b2ed850bcc
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user