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
0233aedc41
use perms{Int8} in AutGroup and in tests
2018-03-22 17:24:23 +01:00
fadc2d9619
Merge branch 'master' of github.com:kalmarek/Groups.jl
2018-03-22 15:19:58 +01:00
b7e7bcb7ef
fix tests (parametrised perms)
2018-03-22 15:07:18 +01:00
203e084ff3
don't print overly long presentations
2018-03-22 10:49:52 +01:00
d834935d05
be more specific on the type of objectGroup in AutGroup
2018-03-22 10:49:31 +01:00
c8f0ee04da
automorphisms apply in-place
2018-03-21 19:23:13 +01:00
dd4d23189b
domain(G::AutGroup) returns deepcopy of G.domain
2018-03-21 19:22:09 +01:00
49198dfdf4
use append! and prepend! instead of push! and unshift!
...
This also fixes a bug in l_multiply!
2018-03-21 19:21:03 +01:00
181073b517
use domain in hash and ==
2018-03-17 05:09:09 +01:00
acb1dbe6c8
use tuples in evaluation of AutSymbols
2018-03-17 05:08:42 +01:00
6a59c53c8f
add domain field to AutGroup
2018-03-17 05:01:21 +01:00
c76ad85067
remove support for julia-0.5
2017-11-20 09:44:04 +01:00
bad841cf39
use Nemo from master for v0.6
2017-11-17 16:08:09 +01:00
03b7590faa
fix merging master
2017-11-15 20:43:09 +01:00
c18e2156b5
Merge branch 'master' into enh/julia-v0.6
2017-11-15 20:34:30 +01:00
d96a36cb94
Merge branch 'master' of github.com:kalmarek/Groups.jl
2017-11-08 11:52:14 +01:00
36279d2601
generate_balls for RingElem
2017-11-08 11:51:26 +01:00
70cde44673
much faster generate_balls (using Base.product)
2017-11-08 11:09:29 +01:00
99c07c6909
allow precompilation of the module
2017-11-08 09:06:50 +01:00
78881e1d79
more economical generate_balls using Base.product
2017-11-05 14:58:58 +01:00
d6befc7990
Don't pull master of Nemo
2017-11-02 18:48:31 +01:00
d3d5633ab9
fix tests
2017-10-27 16:20:06 +02:00
04d1591c7d
actually cache and use savedhash + tests
2017-10-27 16:16:43 +02:00
5945462d45
no need for ispermauto function
...
handled easily by isa(..., PermAut)
2017-10-27 16:15:33 +02:00
5c14edc53c
update change_pow to the new AutSymbol
2017-10-27 16:14:28 +02:00
329e481d24
move getperm
2017-10-27 16:13:45 +02:00
0144c49372
AutSymbol evaluation -- much simpler
...
due to automorphism type carried as an attribute
2017-10-27 16:12:28 +02:00
3d2bc63723
creating AutSymbols
2017-10-27 16:11:18 +02:00
5f224f6713
Evaluation of {R,L}Transvec, PermAut, FlipAut types
2017-10-27 16:10:04 +02:00
e6a0ffd3d6
AutSymbol carries automorphism type, not expression
2017-10-27 16:09:23 +02:00
271e96b44f
make tests pass
2017-10-24 15:28:02 +02:00
c593522ab9
fix the AutGroup gens
2017-10-24 15:27:43 +02:00
23d3787e34
evaluate AutSymbol
2017-10-24 15:26:27 +02:00
54e8eb0b43
remove .func field from autsymbol
2017-10-24 15:25:37 +02:00
30f44cca71
remove outer keyword (it was wrong!)
2017-10-04 21:34:59 +02:00
261f7761eb
use the new Nemo.Generic module
2017-09-15 18:54:32 +02:00
2e208032d2
use the new 0.6 syntax: structs, where etc.
...
one test broken
2017-09-13 16:47:31 +02:00
29d1b8364d
fix deprecation warnings
2017-09-13 15:48:40 +02:00
32a76f9efa
remove Compat
2017-09-13 11:22:21 +02:00