Commit Graph

483 Commits

Author SHA1 Message Date
kalmarek d373a0c7c2 add comment why specialized deepcopy for GWords is necessary 2018-07-30 15:20:12 +02:00
kalmarek 7f25d96038 Automorphism: initialize hash to 0x0 2018-07-30 15:19:18 +02:00
kalmarek e9ae22cfe9 convenience (S)Aut(G) and (G::WreathProduct)(n,p) constructors 2018-07-30 15:01:20 +02:00
kalmarek 0a20c5bb73 change hashing constant for reproducible hash of Automorphisms 2018-07-30 15:00:02 +02:00
kalmarek 192230c8d3 throw uniformly DomainError on check 2018-07-30 14:59:11 +02:00
kalmarek 0de75f1262 convenience constructors for DirectProduct 2018-07-30 14:56:28 +02:00
kalmarek 8a40d76143 add setindex!(::DirectProductGroupElem) 2018-07-30 14:54:54 +02:00
kalmarek 5ac1ea7ba8 rename Automorphism.typ -> Automorphism.fn 2018-07-30 14:54:09 +02:00
kalmarek d78f1ec38a remove specialized deepcopy 2018-07-30 14:53:20 +02:00
kalmarek 78abdc3181 fix elem_types: they dispatch on TYPE of parent 2018-07-30 14:07:42 +02:00
kalmarek 1783ba5065 fix indentation 2018-07-30 14:05:47 +02:00
kalmarek 0ab4df2ce5 WreathProduct uses the additive group of a ring by default 2018-07-30 14:03:51 +02:00
kalmarek 93253115ab Introduce AddGrp, MltGrp etc.
for the additive group of a ring.
2018-07-30 14:03:04 +02:00
kalmarek fe0e22f0bf align to perms acting on the right 2018-07-30 13:54:15 +02:00
kalmarek 158ce5ee27 replace Nemo -> AbstractAlgebra 2018-07-30 08:30:27 +02:00
kalmarek 1597784ac5 add the standard linear representation for Automorphisms 2018-04-10 13:14:45 +02:00
kalmarek df554480ea parametrize WreathProduct over Integers 2018-04-10 13:09:50 +02:00
kalmarek f2fb7f53cd move ==(::GSymbol, ::GSymbol) to Groups.jl 2018-04-09 13:00:50 +02:00
kalmarek b8abe64656 Parametrise Automorphisms on Integer type 2018-04-09 12:59:47 +02:00
kalmarek 3ac9231032 replace free_reduce! -> freereduce! 2018-04-02 18:19:55 +02:00
kalmarek 3ff1f1897e fix simplify_perms! → simplifyperms!
Currently it passes twice over W.symbols, but should be correct
2018-04-02 18:18:12 +02:00
kalmarek f9ede91343 replace delete_ids! -> deleteids! 2018-04-02 18:15:12 +02:00
kalmarek c880b51346 remove isone(::GSymbol) 2018-03-29 19:37:32 +02:00
kalmarek d1db939a63 newnew version of hash and == 2018-03-29 19:24:15 +02:00
kalmarek d83af99fbc rework reduce! and sumplify_perms! using delete_ids! 2018-03-29 19:23:24 +02:00
kalmarek 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
kalmarek eed218da3c rework hash, == 2018-03-28 12:28:47 +02:00
kalmarek e6b1b2a663 make id always have length 0 2018-03-28 12:21:50 +02:00
kalmarek f493ed7283 rewrite simplify_perms! 2018-03-28 12:20:03 +02:00
kalmarek 6b0499005f rename field of PermAut p->perm 2018-03-28 12:19:18 +02:00
kalmarek 17958fbd2c accomodate to abstract GWord{T} 2018-03-27 21:48:36 +02:00
kalmarek fc879f068b clean-up findfirst, findnext 2018-03-27 21:48:02 +02:00
kalmarek 3a6506ae40 is_subsymbol -> issubsymbol 2018-03-27 21:31:23 +02:00
kalmarek 57dfc05221 shift documentation and GWord{T} definition 2018-03-27 21:30:36 +02:00
kalmarek 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
kalmarek 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
kalmarek ffd5bbdc19 remove savedimage: Automorphism becomes prohibitively large 2018-03-27 18:23:43 +02:00
kalmarek 9e053df1a8 Add needed convert to Automorhphism{N} 2018-03-26 07:29:41 +02:00
kalmarek 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
kalmarek 0b800b5366 move includes to the top of the file 2018-03-26 07:25:32 +02:00
kalmarek 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
kalmarek 02d947899f immutable -> struct 2018-03-25 19:13:30 +02:00
kalmarek c89ffbb4b4 constructing NTuple is faster than deepcopying it? 2018-03-25 19:12:29 +02:00
kalmarek 0233aedc41 use perms{Int8} in AutGroup and in tests 2018-03-22 17:24:23 +01:00
kalmarek 203e084ff3 don't print overly long presentations 2018-03-22 10:49:52 +01:00
kalmarek d834935d05 be more specific on the type of objectGroup in AutGroup 2018-03-22 10:49:31 +01:00
kalmarek c8f0ee04da automorphisms apply in-place 2018-03-21 19:23:13 +01:00
kalmarek dd4d23189b domain(G::AutGroup) returns deepcopy of G.domain 2018-03-21 19:22:09 +01:00
kalmarek 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
kalmarek 181073b517 use domain in hash and == 2018-03-17 05:09:09 +01:00
kalmarek acb1dbe6c8 use tuples in evaluation of AutSymbols 2018-03-17 05:08:42 +01:00
kalmarek 6a59c53c8f add domain field to AutGroup 2018-03-17 05:01:21 +01:00
kalmarek 03b7590faa fix merging master 2017-11-15 20:43:09 +01:00
kalmarek c18e2156b5 Merge branch 'master' into enh/julia-v0.6 2017-11-15 20:34:30 +01:00
kalmarek 36279d2601 generate_balls for RingElem 2017-11-08 11:51:26 +01:00
kalmarek 99c07c6909 allow precompilation of the module 2017-11-08 09:06:50 +01:00
kalmarek 78881e1d79 more economical generate_balls using Base.product 2017-11-05 14:58:58 +01:00
kalmarek 04d1591c7d actually cache and use savedhash + tests 2017-10-27 16:16:43 +02:00
kalmarek 5945462d45 no need for ispermauto function
handled easily by isa(..., PermAut)
2017-10-27 16:15:33 +02:00
kalmarek 5c14edc53c update change_pow to the new AutSymbol 2017-10-27 16:14:28 +02:00
kalmarek 329e481d24 move getperm 2017-10-27 16:13:45 +02:00
kalmarek 0144c49372 AutSymbol evaluation -- much simpler
due to automorphism type carried as an attribute
2017-10-27 16:12:28 +02:00
kalmarek 3d2bc63723 creating AutSymbols 2017-10-27 16:11:18 +02:00
kalmarek 5f224f6713 Evaluation of {R,L}Transvec, PermAut, FlipAut types 2017-10-27 16:10:04 +02:00
kalmarek e6a0ffd3d6 AutSymbol carries automorphism type, not expression 2017-10-27 16:09:23 +02:00
kalmarek c593522ab9 fix the AutGroup gens 2017-10-24 15:27:43 +02:00
kalmarek 23d3787e34 evaluate AutSymbol 2017-10-24 15:26:27 +02:00
kalmarek 54e8eb0b43 remove .func field from autsymbol 2017-10-24 15:25:37 +02:00
kalmarek 30f44cca71 remove outer keyword (it was wrong!) 2017-10-04 21:34:59 +02:00
kalmarek 261f7761eb use the new Nemo.Generic module 2017-09-15 18:54:32 +02:00
kalmarek 2e208032d2 use the new 0.6 syntax: structs, where etc.
one test broken
2017-09-13 16:47:31 +02:00
kalmarek 29d1b8364d fix deprecation warnings 2017-09-13 15:48:40 +02:00
kalmarek 32a76f9efa remove Compat 2017-09-13 11:22:21 +02:00
kalmarek 36b87c12fa Merge branch 'master' into enh/julia-v0.6
# Conflicts:
#	src/FPGroups.jl
2017-09-13 11:17:42 +02:00
kalmar a71f99670c deepcopy S to avoid external changes 2017-08-08 19:15:55 +02:00
kalmar 2e6372576e argument name is not used in elem_type 2017-07-23 17:07:21 +02:00
kalmar cac6305852 trivial changes in docs 2017-07-23 17:04:22 +02:00
kalmar 166c4c217b parent_type dispatches after Type of element 2017-07-23 17:01:11 +02:00
kalmar b04a472063 combine * and inv under "Group Operations" label 2017-07-23 03:24:40 +02:00
kalmar 251fdd4afa fix setindex! 2017-07-23 03:24:05 +02:00
kalmar aad2907c51 fix: WreathProductElem is typed only after GroupElem 2017-07-21 17:14:55 +02:00
kalmar b7151d1fc2 docs 2017-07-21 16:05:49 +02:00
kalmar 6fa01d87ef faster versions of * and inv for products of rings 2017-07-21 16:04:45 +02:00
kalmar 6f08259466 Don't multiply if not necessary -> directly create element 2017-07-21 16:04:11 +02:00
kalmar d668574805 parent is constructable, don't use it in hash 2017-07-21 16:03:26 +02:00
kalmar c60e5a8c5c reworked inv + doc 2017-07-21 16:02:44 +02:00
kalmar 70a8a9b72d get rid of the old parent stuff 2017-07-21 16:02:07 +02:00
kalmar 0519d06baa add check argument to WreathProductElem constructor 2017-07-21 16:01:22 +02:00
kalmar 36a0e8593d new multiplication 2017-07-21 15:59:47 +02:00
kalmar 620b970f62 merge Binary operators and Inversion as Group operations 2017-07-21 14:33:53 +02:00
kalmar 354da78769 clean-up show 2017-07-21 14:31:05 +02:00
kalmar 68df946c81 don't construct parent(::WreatProductElem) when not necessary 2017-07-21 14:30:48 +02:00
kalmar 7c1a96b64e don't compare parents when parents are constructable 2017-07-21 14:29:38 +02:00
kalmar 89b89f13a5 there is no parent field 2017-07-21 14:23:47 +02:00
kalmar b89e60e508 standard outer constructors for WreathProduct{Elem} 2017-07-21 13:40:54 +02:00
kalmar 06a4e50a2d don't compute G.N(p.n) and G.P(g.p) twice when coercing 2017-07-21 13:37:28 +02:00
kalmar 4fa7d744c2 parent(WreathProductElem) is now computed on the fly ==> slow 2017-07-21 13:36:39 +02:00
kalmar a6f0685313 concrete updates to elem_type, parent_type 2017-07-21 13:36:04 +02:00
kalmar fa996d68fb make WreathProduct{Elem} concrete & immutable
parametrize by WreathProduct{Elem} by T<:Group{Elem}
2017-07-21 13:34:57 +02:00
kalmar 125e4a5263 remove eye 2017-07-21 13:32:34 +02:00
kalmar 16f3b6b44e update elements, order 2017-07-21 13:32:14 +02:00
kalmar 83f9ed61b8 multiple dispatch style solutions for * and inv for rings 2017-07-21 13:30:35 +02:00
kalmar ca23485b5e trivial updates to show, == 2017-07-21 13:29:12 +02:00
kalmar 610defe354 update hash according to changes in type 2017-07-21 13:27:54 +02:00
kalmar 7989967cc4 vararg version of overload -- with mandatory checking 2017-07-21 13:27:27 +02:00
kalmar 10022fd31c DirectProductGroup overloads: with vector and GroupElem 2017-07-21 13:27:00 +02:00
kalmar ba4400efbb optionally coerce to G when called G(a::Vector) 2017-07-21 13:25:34 +02:00
kalmar ae97c20e62 update \times outer constructor 2017-07-21 13:24:14 +02:00
kalmar 6820274f65 handled by inner constructor 2017-07-21 13:22:47 +02:00
kalmar 7f67a68176 compute parent of element as needed ==> avoid calling parent(g) 2017-07-21 13:21:38 +02:00
kalmar 7f1b6f61d0 fine tuned elem_type, parent_type 2017-07-21 13:20:31 +02:00
kalmar d02c5afc65 store only single factor and multiplicity in DirectProductGroup 2017-07-21 13:19:56 +02:00
kalmar a78e4ccea2 spacing 2017-07-16 21:43:43 +02:00
kalmar d2cb646119 use additive group for objects involving Rings 2017-07-12 21:12:23 +02:00
kalmar a5a67bd7d3 operations field is no more 2017-07-12 21:11:12 +02:00
kalmar 674fa9f9d3 never access parent filed directly 2017-07-12 21:10:31 +02:00
kalmar a3eeee0728 AbstractVector interface for DirectProductGroupElem 2017-07-12 21:10:01 +02:00
kalmar 799878ded5 Brave new constructors 2017-07-12 21:09:26 +02:00
kalmar 6b84254416 typed elem_type 2017-07-12 21:06:07 +02:00
kalmar 78eded0124 construct parent object on the fly 2017-07-12 21:05:55 +02:00
kalmar 8631e5d16b type DirectProductGroup/Elems after type of single factor
This limits the scope of DirectProductGroup/Elems to pure direct products
2017-07-12 21:05:21 +02:00
kalmar 2b59b5c89f Merge branch 'enh/FPGroups' 2017-07-06 17:30:56 +02:00
kalmar df19042de6 initial @compat changes, works on v0.6 without warnings 2017-07-06 17:27:56 +02:00
kalmar 32f07e1315 git fix typealias 2017-07-06 10:04:39 +02:00
kalmar b61c06cd96 Merge branch 'enh/FPGroups' 2017-07-06 09:55:40 +02:00
kalmar ff7bbe8e21 allow for different group operation in generate_balls/products 2017-07-06 09:45:14 +02:00
kalmar 02c1022846 use @compat for types, etc 2017-07-06 09:22:56 +02:00
kalmar 4bb3c9df4f don't export generators, it's been replaced by gens 2017-07-06 09:20:43 +02:00
kalmar e0af8ded6e adjust to changes in replace_all 2017-07-06 09:19:53 +02:00
kalmar 18ad0a04b6 replace_all! returns if any modification has been performed 2017-07-06 09:18:53 +02:00
kalmar 95ac3940d7 FreeGroup and AutGroup are AbstractFPGroups 2017-07-06 09:17:17 +02:00
kalmar 8e9b9d5603 include the FPGroups.jl file 2017-07-06 09:12:35 +02:00
kalmar 345e066664 change in doc 2017-07-06 09:11:56 +02:00
kalmar 04b07eb260 define gens(::AbstractFPGroup) 2017-07-06 09:11:27 +02:00
kalmar ffa9cc4cd2 add_rel! and quotientgroup are implemented in FPGroups.jl 2017-07-06 09:10:32 +02:00
kalmar f395af242b add FPGroups.jl file 2017-07-06 09:09:49 +02:00
kalmar ab31d8fca1 add AbstractFPGroup <: Group abstract type 2017-07-06 09:09:24 +02:00
kalmar 4b68fe745f docstring for gens function 2017-07-06 09:05:24 +02:00
kalmar 392214b697 fix: don't shadow gens function 2017-07-06 09:04:48 +02:00
kalmar 5d51855d17 add unified gens(G::FPGroup) function 2017-07-05 16:26:14 +02:00
kalmar 08ebec118f formatting 2017-07-05 16:22:50 +02:00
kalmar cc1d662814 fix non-parametrised dispatch of replace_all 2017-07-05 16:18:37 +02:00
kalmar 6c8591b1d4 fix the replace! function in case length(toreplace)= 1 2017-07-05 16:18:04 +02:00
kalmar 5a9d4b4bb6 add missing cases for find first (length =0, 1) 2017-07-05 16:16:47 +02:00
kalmar 613ec172bd add xor for 0.5 compatibility 2017-07-05 13:56:01 +02:00
kalmar 1bfbd574ee use xor(,) instead of $ 2017-07-04 17:16:06 +02:00
kalmar 9626d16da9 merge modules DirectProducts, WreathProducts into Groups 2017-06-22 15:04:51 +02:00
kalmar 00f5fc1f23 add DirectProducts and WreathProducts 2017-06-22 14:21:25 +02:00
kalmar 17888437ff specialise generate_balls, products 2017-06-05 17:32:20 +02:00
kalmar 1d3017389f add quotes in docstring 2017-05-19 10:35:29 +02:00
kalmar 64d5466aa7 rename variables to less confusing names 2017-05-18 12:21:31 +02:00
kalmar 3776e947a3 extend parent_type, elem_type from Nemo (i.e. import) 2017-05-17 17:47:13 +02:00
kalmar c03882ae69 add Misc category with: products, generate_balls 2017-05-17 17:46:30 +02:00
kalmar f505b00502 deepcopy_internal is handled in Groups.jl 2017-05-15 17:29:47 +02:00
kalmar 7db7119a29 show for AutGroup 2017-05-15 17:29:12 +02:00
kalmar 9395c8e2f0 more accurate show for FreeGroup 2017-05-15 17:28:58 +02:00
kalmar d3a9f8d3f6 perm_autsymbol(::Vector{Int}) convenience function 2017-05-15 17:23:49 +02:00
kalmar 9606a14743 finish reduce if both simplify_perms! and free_reduce! return true 2017-05-15 17:23:23 +02:00
kalmar 18ae84d9cd streamline and adapt simplify_perms! 2017-05-15 17:21:48 +02:00
kalmar c20259e1b7 specific hash and == for AutGrouElem (as functions) 2017-05-15 17:20:44 +02:00
kalmar 3de09cbab5 remove specific deepcopy_internal -- handled by general in Groups.jl 2017-05-15 17:19:59 +02:00
kalmar 6121c38d7f separate AutGroup from AutSymbol (functional) overload 2017-05-15 17:09:18 +02:00
kalmar b50d7f7a9c fix display of perm_autsymbols 2017-05-15 17:07:45 +02:00
kalmar b65a202bc1 don't export AutSymbol 2017-05-15 17:06:57 +02:00
kalmar 2d3ed657e7 deepcopy_internal for FreeGroupElems 2017-05-15 09:54:28 +02:00
kalmar bdca979fda add length(::AutSymbol) 2017-05-15 09:54:08 +02:00
kalmar c925181116 fieldname is gens not generators 2017-05-15 09:53:53 +02:00
kalmar a04fea9a09 make perm_autsymbol use PermutationGroup 2017-05-15 09:53:22 +02:00
kalmar 26f49ce963 deepcopy_internal of AutGroupElem 2017-05-15 09:52:46 +02:00
kalmar 82d05315ab coercion of AutSymbol to AutGroupElem 2017-05-15 09:52:10 +02:00
kalmar fbee33153f more specific AutGroupElem overload 2017-05-15 09:51:35 +02:00
kalmar e8ffc55b72 fix the AutGroup constructor 2017-05-15 09:51:03 +02:00
kalmar 51b7b7a748 another gen -> str 2017-05-15 09:50:26 +02:00
kalmar 9847f8addf remove using Permutations, import Base.convert 2017-05-15 09:49:34 +02:00
kalmar c5ec6bb15e rename fieldname gen -> str 2017-05-15 09:48:41 +02:00
kalmar 90437139cb iterate over perm.d not over perm itself 2017-05-13 22:09:03 +02:00
kalmar 51694c4fbf add FreeGroup(n::Int) convenience 2017-05-12 21:19:08 +02:00
kalmar 1284ded447 one(AutSymbol) is replaced by id_autsymbol 2017-05-12 21:18:38 +02:00
kalmar b955eed67b But so far we only implemented Aut(FreeGroup) 2017-05-12 20:32:33 +02:00
kalmar 117eddafd6 AutGroup is a FPGroup 2017-05-12 20:31:00 +02:00
kalmar a886929948 FP{Symbol, Group, GroupElem} -> Free{Symbol, Group, GroupElem} 2017-05-12 20:30:42 +02:00
kalmar 361abed62f add abstract FPGroup <: Group 2017-05-12 20:29:04 +02:00
kalmar 1bd2d7fe25 update includes 2017-05-12 20:15:03 +02:00
kalmar 86ec33b8a0 mv FPGroup.jl -> FreeGroup.jl 2017-05-12 20:14:26 +02:00
kalmar 195c7c4392 move automorphism_groups.jl -> AutGroup.jl 2017-05-12 20:14:06 +02:00
kalmar 1fc4405b77 Add headers 2017-05-12 20:11:10 +02:00
kalmar ffe0e901b2 Export AutSymbo, AugGroupElem, AutGroup; AutSymbols are internals 2017-05-12 20:10:34 +02:00
kalmar 53bc7fe05c add elem_type, parent_type, generators 2017-05-12 20:09:03 +02:00
kalmar 39d64b7e69 update getperm 2017-05-12 20:08:27 +02:00
kalmar f6f2258629 ASCII compatible subscriptify function 2017-05-12 20:06:42 +02:00
kalmar 51baeb1326 new functions defining AutSymbols actions 2017-05-12 20:05:32 +02:00
kalmar b130417a38 move (==), hash, change_pow, inv 2017-05-12 20:04:03 +02:00
kalmar 26eb8b35cb AutWord -> AutGroupElem 2017-05-12 20:02:41 +02:00
kalmar 7528ab631e remove IdSymbol 2017-05-12 19:56:26 +02:00
kalmar 6993c284cd AutGroup constructor 2017-05-12 19:55:50 +02:00
kalmar 5aa68207df remove convert: its done in Groups.jl 2017-05-12 19:55:26 +02:00
kalmar 2c35d8427e new definition of AutSymbol, AutGroupElem and its parent AutGroup 2017-05-12 19:55:07 +02:00
kalmar bab1a64042 move AutSymbol call overload 2017-05-12 19:52:27 +02:00
kalmar 84830f0d3a remove rels from FPGroup making it effecively FreeGroup 2017-05-12 19:49:54 +02:00
kalmar 83e40972a7 define show for <:GSymbol 2017-05-12 19:48:33 +02:00
kalmar 3d944d2de2 define isone for <:GSymbol 2017-05-12 19:46:59 +02:00
kalmar 9dafd3c09c remove unnecessary ::Bools 2017-05-12 19:46:08 +02:00
kalmar 0891f28c6f include FPGroups.jl in Groups 2017-05-11 18:30:03 +02:00
kalmar 2a3baab61a indentation 2017-05-11 18:28:29 +02:00
kalmar f256f60ca3 headers 2017-05-11 18:28:00 +02:00
kalmar 9570b8c84a remove unused 2017-05-11 18:27:05 +02:00
kalmar 0c699894fa FreeGroup utility function 2017-05-11 18:26:37 +02:00
kalmar 8dd4d96b6f actually (<) and (<=) for FPSymbols were never used 2017-05-11 18:25:23 +02:00
kalmar 5f90c0c7b1 add_rel! and quotientgroup for the future 2017-05-11 18:24:05 +02:00
kalmar 1c638e296c FPSymbol inversion 2017-05-11 18:23:01 +02:00
kalmar e2585b5733 (==), (<) and (<=) for FPSymbols 2017-05-11 18:22:37 +02:00
kalmar 6d8f244ee8 show for FPSymbol 2017-05-11 18:22:04 +02:00
kalmar 48a80760fd add_gen! was never used 2017-05-11 18:21:40 +02:00
kalmar 1e8c9468de G.gens return parentless symbols; use generators(G); 2017-05-11 18:21:05 +02:00
kalmar 6c312cfef3 hash, isone, change_pow, length for FPSymbol 2017-05-11 18:19:59 +02:00
kalmar 31cb855c9c FPGroup type overloads 2017-05-11 18:18:06 +02:00
kalmar f3c36f132b parent_type, elem_type 2017-05-11 18:17:42 +02:00
kalmar 71c2367cae exports 2017-05-11 18:17:08 +02:00
kalmar 2d72393292 constructors 2017-05-11 18:16:51 +02:00
kalmar 6a29797557 the new definition of FPGroup <: Group 2017-05-11 18:16:21 +02:00
kalmar de6f6bc52d introduce FPSymbol as concrete type of GSymbol, parentless 2017-05-11 18:14:59 +02:00
kalmar cbfc3979bb remove free_groups.jl 2017-05-11 18:13:11 +02:00
kalmar a54ebbcede docs and headers 2017-05-11 18:10:46 +02:00
kalmar 34f93e0a6e cosmetics 2017-05-11 18:09:55 +02:00
kalmar 038ece45c5 no arithmetic of GSymbols; 2017-05-11 18:09:39 +02:00
kalmar b5139306f7 GSymbol has str fieldname, not gen 2017-05-11 18:09:09 +02:00
kalmar 3d9b27756f move the exports 2017-05-11 18:08:18 +02:00
kalmar 3077ec0e8b cosmetic changes to (*) and (^=power_by_squaring) 2017-05-11 18:07:57 +02:00
kalmar d3adfdb8b6 GWord is never equal to GSymbol as == requires parent 2017-05-11 18:05:03 +02:00
kalmar 9b48932ab4 add doc to reduce function 2017-05-11 18:03:46 +02:00
kalmar f9ccff01a8 deepcopy_internal override to protect ParentObject from duplication 2017-05-11 18:03:06 +02:00
kalmar a3db7ab92c add parent; move GWord constructor and GSymbol -> GWord conversion 2017-05-11 18:01:55 +02:00
kalmar 4718c40bd1 move hash 2017-05-11 18:00:46 +02:00
kalmar cf4529dce6 add doc and parent namefield to GWord 2017-05-11 17:59:37 +02:00
kalmar a7c91bf858 no arithmetic on GSymbols is allowed 2017-05-11 17:58:19 +02:00
kalmar c03f7bb895 one is no more 2017-05-11 17:57:18 +02:00
kalmar 6ae234cabb move deletion of identities into free_reduce 2017-05-11 17:52:14 +02:00
kalmar 12cf72b476 rename join_free_symbol to free_reduce 2017-05-11 17:51:16 +02:00
kalmar 7b564d5e89 but it makes more sense to define word for abstract GWords 2017-05-11 17:49:56 +02:00
kalmar 711d7dec12 define length and change_pow only for concrete subtypes of GSymbol 2017-05-11 17:47:15 +02:00
kalmar 1c7113932d no multiplication of GSymbols -- no Words without parents allowed 2017-05-11 17:45:00 +02:00
kalmar 528228e46e move inv and add parent inheritance 2017-05-11 17:43:33 +02:00
kalmar ae1dac76fc IdSymbol, one, etc. are now replaced by overloading parent object 2017-05-11 17:40:49 +02:00
kalmar ba3ca8a0ba show should be implemented for concrete subtypes of GSymbol 2017-05-11 17:38:07 +02:00
kalmar eb71dfe26e doc for GSymbol 2017-05-11 17:36:59 +02:00
kalmar fd04c2ba86 Word type is no more, its GroupElem 2017-05-11 17:36:33 +02:00
kalmar e08a5c71b3 FPGroups is imported in Groups.jl, no need to import 2017-05-11 17:35:15 +02:00
kalmar 6795693ce8 temporary uses and imports 2017-05-11 17:34:07 +02:00
kalmar 68e5e8e3ea add FPGroups.jl 2017-05-09 17:46:52 +02:00
kalmar 8dfe9ec8f3 simplify change_pow 2017-04-18 13:19:04 +02:00