0a20c5bb73
change hashing constant for reproducible hash of Automorphisms
2018-07-30 15:00:02 +02:00
192230c8d3
throw uniformly DomainError on check
2018-07-30 14:59:11 +02:00
0de75f1262
convenience constructors for DirectProduct
2018-07-30 14:56:28 +02:00
8a40d76143
add setindex!(::DirectProductGroupElem)
2018-07-30 14:54:54 +02:00
5ac1ea7ba8
rename Automorphism.typ -> Automorphism.fn
2018-07-30 14:54:09 +02:00
d78f1ec38a
remove specialized deepcopy
2018-07-30 14:53:20 +02:00
78abdc3181
fix elem_types: they dispatch on TYPE of parent
2018-07-30 14:07:42 +02:00
1783ba5065
fix indentation
2018-07-30 14:05:47 +02:00
0ab4df2ce5
WreathProduct uses the additive group of a ring by default
2018-07-30 14:03:51 +02:00
93253115ab
Introduce AddGrp, MltGrp etc.
...
for the additive group of a ring.
2018-07-30 14:03:04 +02:00
fe0e22f0bf
align to perms acting on the right
2018-07-30 13:54:15 +02:00
158ce5ee27
replace Nemo -> AbstractAlgebra
2018-07-30 08:30:27 +02:00
7663381084
switch to AbstractAlgebra
2018-04-11 08:13:23 +02:00
c4f5bea063
Merge branch 'master' of https://github.com/kalmarek/Groups.jl
...
# Conflicts:
# test/WreathProd-tests.jl
2018-04-10 13:20:35 +02:00
1597784ac5
add the standard linear representation for Automorphisms
2018-04-10 13:14:45 +02:00
df554480ea
parametrize WreathProduct over Integers
2018-04-10 13:09:50 +02:00
777684db28
fix tests for parametrised Automorphisms
2018-04-09 13:01:21 +02:00
f2fb7f53cd
move ==(::GSymbol, ::GSymbol) to Groups.jl
2018-04-09 13:00:50 +02:00
b8abe64656
Parametrise Automorphisms on Integer type
2018-04-09 12:59:47 +02:00
d46c5dafcc
Vector{Groups.FreeGroupElem} fixed itself
2018-04-03 15:43:17 +02:00
435d3d88ad
fix simplifyperms! test
2018-04-03 15:36:32 +02:00
3ac9231032
replace free_reduce! -> freereduce!
2018-04-02 18:19:55 +02:00
3ff1f1897e
fix simplify_perms! → simplifyperms!
...
Currently it passes twice over W.symbols, but should be correct
2018-04-02 18:18:12 +02:00
f9ede91343
replace delete_ids! -> deleteids!
2018-04-02 18:15:12 +02:00
c880b51346
remove isone(::GSymbol)
2018-03-29 19:37:32 +02:00
d1db939a63
newnew version of hash and ==
2018-03-29 19:24:15 +02:00
d83af99fbc
rework reduce! and sumplify_perms! using delete_ids!
2018-03-29 19:23:24 +02:00
40cf8a4e9f
new version of reduce! and free_reduce using delete_ids!
...
delete_ids requires second pass of W.symbols, but is so much easier to
get it right!
2018-03-29 19:19:34 +02:00
eed218da3c
rework hash, ==
2018-03-28 12:28:47 +02:00
e6b1b2a663
make id always have length 0
2018-03-28 12:21:50 +02:00
f493ed7283
rewrite simplify_perms!
2018-03-28 12:20:03 +02:00
6b0499005f
rename field of PermAut p->perm
2018-03-28 12:19:18 +02:00
41abf789ef
eliminate GWord and replace is_subsymbol by issubsymbol
2018-03-28 00:54:52 +02:00
3dcef3189e
AutGroupElem -> Automorphism{N}
2018-03-27 21:49:22 +02:00
17958fbd2c
accomodate to abstract GWord{T}
2018-03-27 21:48:36 +02:00
fc879f068b
clean-up findfirst, findnext
2018-03-27 21:48:02 +02:00
3a6506ae40
is_subsymbol -> issubsymbol
2018-03-27 21:31:23 +02:00
57dfc05221
shift documentation and GWord{T} definition
2018-03-27 21:30:36 +02:00
8cd10c0bfa
make sure we don't reduce if not asked
2018-03-27 20:15:28 +02:00
7139322d05
New version of hash and ==
...
evaluation of Automorphism on the standard basis is expensive
in hash(g::Automorphism, h::UInt) we
1. compute and store savedhash (evaluating f, if necessary) with a fixed value HASHINGCONST
2. xor h with savedhash
in == we evaluate f only at hash-colision (or when
This way we evaluate f multiple times only in ~2% of cases (for SAut(F_4))
2018-03-27 20:14:24 +02:00
6a7bb03d73
no need to store initial value of savedhash
...
it must be accessed after checking the modified filed
2018-03-27 18:24:40 +02:00
ffd5bbdc19
remove savedimage: Automorphism becomes prohibitively large
2018-03-27 18:23:43 +02:00
9e053df1a8
Add needed convert to Automorhphism{N}
2018-03-26 07:29:41 +02:00
a7bf32145c
replace AutGroupElem with Automorphism{N} <: GWord{AutSymbol}
...
this allows to store in the Automorphism struct
precomputed hash and
image of the canonical basis
2018-03-26 07:26:48 +02:00
0b800b5366
move includes to the top of the file
2018-03-26 07:25:32 +02:00
6939c0f00a
introduce GroupWord{T} <: GWord{T<:GSymbol}
...
This allows subtyping of GWord{T} with more specific group elements
2018-03-26 07:24:37 +02:00
02d947899f
immutable -> struct
2018-03-25 19:13:30 +02:00
c89ffbb4b4
constructing NTuple is faster than deepcopying it?
2018-03-25 19:12:29 +02:00
81b580a92b
Not so simple arithmetic: ϱ₁₂*ϱ₂₁⁻¹*λ₁₂*ε₂ == σ₂₁₃₄
2018-03-22 17:28:07 +01:00
8f990d9014
use tuples & domain in Automorphism evaluations
2018-03-22 17:27:31 +01:00