1
0
mirror of https://github.com/kalmarek/Groups.jl.git synced 2024-12-25 18:15:29 +01:00
Commit Graph

367 Commits

Author SHA1 Message Date
60c04f0dbd fix type instability in domain 2018-08-07 23:51:15 +02:00
84d601817c avoid creation of parent in perm_autsymbol and skip perm check 2018-08-01 23:21:47 +02:00
87a7285ba5 don't use length for permutation 2018-08-01 22:39:43 +02:00
6eebaf6945 use released version of AbstractAlgebra 2018-07-30 15:24:39 +02:00
43b6d5bf40 fix tests 2018-07-30 15:20:37 +02:00
d373a0c7c2 add comment why specialized deepcopy for GWords is necessary 2018-07-30 15:20:12 +02:00
7f25d96038 Automorphism: initialize hash to 0x0 2018-07-30 15:19:18 +02:00
e9ae22cfe9 convenience (S)Aut(G) and (G::WreathProduct)(n,p) constructors 2018-07-30 15:01:20 +02:00
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