diff --git a/Manifest.toml b/Manifest.toml index 84f504a..253ecfb 100644 --- a/Manifest.toml +++ b/Manifest.toml @@ -2,24 +2,24 @@ [[AbstractAlgebra]] deps = ["InteractiveUtils", "LinearAlgebra", "Markdown", "Random", "SparseArrays", "Test"] -git-tree-sha1 = "da0bf98d73f2f34c35d58981fcf139f16749a394" +git-tree-sha1 = "f9ec1c158c6d20c14d2e05b190c4377705aff8c4" uuid = "c3fe647b-3220-5bb0-a1ea-a7954cac585d" -version = "0.7.1" +version = "0.9.1" [[Base64]] uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" [[BenchmarkTools]] -deps = ["JSON", "Printf", "Statistics"] -git-tree-sha1 = "90b73db83791c5f83155016dd1cc1f684d4e1361" +deps = ["JSON", "Logging", "Printf", "Statistics", "UUIDs"] +git-tree-sha1 = "9e62e66db34540a0c919d72172cc2f642ac71260" uuid = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" -version = "0.4.3" +version = "0.5.0" [[BinDeps]] -deps = ["Compat", "Libdl", "SHA", "URIParser"] -git-tree-sha1 = "12093ca6cdd0ee547c39b1870e0c9c3f154d9ca9" +deps = ["Libdl", "Pkg", "SHA", "URIParser", "Unicode"] +git-tree-sha1 = "46cf2c1668ad07aba5a9d331bdeea994a1f13856" uuid = "9e28174c-4ba2-5203-b857-d8d62c4213ee" -version = "0.8.10" +version = "1.0.1" [[BinaryProvider]] deps = ["Libdl", "SHA"] @@ -28,16 +28,22 @@ uuid = "b99e7846-7c00-51b0-8f62-c81ae34c0232" version = "0.5.8" [[Blosc]] -deps = ["BinaryProvider", "CMakeWrapper", "Compat", "Libdl"] -git-tree-sha1 = "71fb23581e1f0b0ae7be8ccf0ebfb3600e23ca41" +deps = ["BinaryProvider", "CMakeWrapper", "Libdl"] +git-tree-sha1 = "9981f1795919b8f770dc064fe733ba09c2e7c7a9" uuid = "a74b3585-a348-5f62-a45c-50e91977d574" -version = "0.5.1" +version = "0.6.0" + +[[Bzip2_jll]] +deps = ["Libdl", "Pkg"] +git-tree-sha1 = "3663bfffede2ef41358b6fc2e1d8a6d50b3c3904" +uuid = "6e34b625-4abd-537c-b88f-471c36dfa7a0" +version = "1.0.6+2" [[CMake]] deps = ["BinDeps"] -git-tree-sha1 = "c67a8689dc5444adc5eb2be7d837100340ecba11" +git-tree-sha1 = "50a8b41d2c562fccd9ab841085fc7d1e2706da82" uuid = "631607c0-34d2-5d66-819e-eb0f9aa2061a" -version = "1.1.2" +version = "1.2.0" [[CMakeWrapper]] deps = ["BinDeps", "CMake", "Libdl", "Parameters", "Test"] @@ -46,16 +52,28 @@ uuid = "d5fb7624-851a-54ee-a528-d3f3bac0b4a0" version = "0.2.3" [[CRlibm]] -deps = ["Libdl", "Test"] -git-tree-sha1 = "805164abcd31facf3a7e5b7d803a0d16b23329bc" +deps = ["Libdl"] +git-tree-sha1 = "9d1c22cff9c04207f336b8e64840d0bd40d86e0e" uuid = "96374032-68de-5a5b-8d9e-752f78720389" -version = "0.7.1" +version = "0.8.0" [[Calculus]] -deps = ["Compat"] -git-tree-sha1 = "bd8bbd105ba583a42385bd6dc4a20dad8ab3dc11" +deps = ["LinearAlgebra"] +git-tree-sha1 = "f641eb0a4f00c343bbc32346e1217b86f3ce9dad" uuid = "49dc2e85-a5d0-5ad3-a950-438e2897f1b9" -version = "0.5.0" +version = "0.5.1" + +[[CodecBzip2]] +deps = ["Bzip2_jll", "Libdl", "TranscodingStreams"] +git-tree-sha1 = "2fee975d68f9a8b22187ae86e33c0829b30cf231" +uuid = "523fee87-0ab8-5b00-afb7-3ecf72e48cfd" +version = "0.7.1" + +[[CodecZlib]] +deps = ["TranscodingStreams", "Zlib_jll"] +git-tree-sha1 = "ded953804d019afa9a3f98981d99b33e3db7b6da" +uuid = "944b1d66-785c-5afd-91f1-9de20f533193" +version = "0.7.0" [[CommonSubexpressions]] deps = ["Test"] @@ -69,11 +87,17 @@ git-tree-sha1 = "ed2c4abadf84c53d9e58510b5fc48912c2336fbb" uuid = "34da2185-b29b-5c13-b0c7-acf172513d20" version = "2.2.0" +[[CompilerSupportLibraries_jll]] +deps = ["Libdl", "Pkg"] +git-tree-sha1 = "7c4f882c41faa72118841185afc58a2eb00ef612" +uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae" +version = "0.3.3+0" + [[DataStructures]] deps = ["InteractiveUtils", "OrderedCollections"] -git-tree-sha1 = "1fe8fad5fc84686dcbc674aa255bc867a64f8132" +git-tree-sha1 = "4dead20a1606a60292529023d6eac18a1ef6432e" uuid = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8" -version = "0.17.5" +version = "0.17.12" [[Dates]] deps = ["Printf"] @@ -84,25 +108,25 @@ deps = ["Mmap"] uuid = "8bb1440f-4735-579b-a4ab-409b98df4dab" [[DiffResults]] -deps = ["Compat", "StaticArrays"] -git-tree-sha1 = "34a4a1e8be7bc99bc9c611b895b5baf37a80584c" +deps = ["StaticArrays"] +git-tree-sha1 = "da24935df8e0c6cf28de340b958f6aac88eaa0cc" uuid = "163ba53b-c6d8-5494-b064-1a9d43ac40c5" -version = "0.0.4" +version = "1.0.2" [[DiffRules]] deps = ["NaNMath", "Random", "SpecialFunctions"] -git-tree-sha1 = "f734b5f6bc9c909027ef99f6d91d5d9e4b111eed" +git-tree-sha1 = "eb0c34204c8410888844ada5359ac8b96292cfd1" uuid = "b552c78f-8df3-52c6-915a-8e097449b14b" -version = "0.1.0" +version = "1.0.1" [[Distributed]] deps = ["Random", "Serialization", "Sockets"] uuid = "8ba89e20-285c-5b6f-9357-94700520ee1b" [[ErrorfreeArithmetic]] -git-tree-sha1 = "a2b7d5a7962e5bfaab0e2e87c9cde7d3087f4e2c" +git-tree-sha1 = "a5198ab6c8a724dd3965b31ddd11ccde65300f5b" uuid = "90fa49ef-747e-5e6f-a989-263ba693cf1a" -version = "0.4.0" +version = "0.5.0" [[FastRounding]] deps = ["ErrorfreeArithmetic", "Test"] @@ -112,53 +136,71 @@ version = "0.2.0" [[FileIO]] deps = ["Pkg"] -git-tree-sha1 = "351f001a78aa1b7ad2696e386e110b5abd071c71" +git-tree-sha1 = "3d7cb2c4c850439f19c4d6d3fbe1dce6481cddb1" uuid = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549" -version = "1.0.7" +version = "1.2.4" [[ForwardDiff]] deps = ["CommonSubexpressions", "DiffResults", "DiffRules", "NaNMath", "Random", "SpecialFunctions", "StaticArrays"] -git-tree-sha1 = "4407e7b76999eca2646abdb68203bd4302476168" +git-tree-sha1 = "869540e4367122fbffaace383a5bdc34d6e5e5ac" uuid = "f6369f11-7733-5829-9624-2563aa707210" -version = "0.10.6" +version = "0.10.10" [[GroupRings]] -deps = ["AbstractAlgebra", "LinearAlgebra", "Markdown", "SparseArrays"] -git-tree-sha1 = "8a9541783cff6911e35840770d0f004c0d2a13dd" +deps = ["AbstractAlgebra", "LinearAlgebra", "SparseArrays"] +git-tree-sha1 = "0fb8bccca3155b26231347498bd4949fd49b65b3" repo-rev = "master" repo-url = "https://github.com/kalmarek/GroupRings.jl" uuid = "0befed6a-bd73-11e8-1e41-a1190947c2f5" -version = "0.3.0" +version = "0.3.1" [[Groups]] deps = ["AbstractAlgebra", "LinearAlgebra", "Markdown"] -git-tree-sha1 = "2487fd5e6106dabcafb835b694df08b4d22dde0e" +git-tree-sha1 = "452c4abb02b4fc5237aca1eaa76c776dd56b2853" repo-rev = "master" repo-url = "https://github.com/kalmarek/Groups.jl" uuid = "5d8bd718-bd84-11e8-3b40-ad14f4a32557" -version = "0.3.0" +version = "0.4.0" [[HDF5]] -deps = ["BinaryProvider", "Blosc", "CMakeWrapper", "Libdl", "Mmap"] -git-tree-sha1 = "d3ea5532668bf9bdd5e8d5f16571e0b520cbbb9f" +deps = ["Blosc", "HDF5_jll", "Libdl", "Mmap", "Random"] +git-tree-sha1 = "cf80ef0b7333e03d78ab6516b56f31f4f7ffa4ae" uuid = "f67ccb44-e63f-5c2f-98bd-6dc0ccc4ba2f" -version = "0.12.5" +version = "0.13.1" + +[[HDF5_jll]] +deps = ["Libdl", "Pkg", "Zlib_jll"] +git-tree-sha1 = "85bd2e586a10ae0eab856125bf5245e0d36384a7" +uuid = "0234f1f7-429e-5d53-9886-15a909be8d59" +version = "1.10.5+5" + +[[HTTP]] +deps = ["Base64", "Dates", "IniFile", "MbedTLS", "Sockets"] +git-tree-sha1 = "fe31f4ff144392ad8176f5c7c03cca6ba320271c" +uuid = "cd3eb016-35fb-5094-929b-558a96fad6f3" +version = "0.8.14" + +[[IniFile]] +deps = ["Test"] +git-tree-sha1 = "098e4d2c533924c921f9f9847274f2ad89e018b8" +uuid = "83e8ac13-25f8-5344-8a64-a9f2b223428f" +version = "0.5.0" [[InteractiveUtils]] deps = ["Markdown"] uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240" [[IntervalArithmetic]] -deps = ["CRlibm", "FastRounding", "LinearAlgebra", "Markdown", "RecipesBase", "SetRounding", "StaticArrays"] -git-tree-sha1 = "f97d8d63c3f849b0f545062de4634bc9f100d8ec" +deps = ["CRlibm", "FastRounding", "LinearAlgebra", "Markdown", "Random", "RecipesBase", "SetRounding", "StaticArrays"] +git-tree-sha1 = "b2db6ee367b4eb3ee8b009ede8ca809e4fd23d35" uuid = "d1acc4aa-44c8-5952-acd4-ba5d80a2a253" -version = "0.16.1" +version = "0.16.7" [[JLD]] -deps = ["Compat", "FileIO", "HDF5", "LegacyStrings", "Profile", "Random"] -git-tree-sha1 = "95fd5d7f129918a75d0535aaaf5b8e235e6e0b0b" +deps = ["Compat", "FileIO", "HDF5", "LegacyStrings"] +git-tree-sha1 = "c8c7a9ca4c17a519961a8ec27e508b07ffc9c1a9" uuid = "4138dd39-2aa7-5051-a626-17a0bb65d9c8" -version = "0.9.1" +version = "0.9.2" [[JSON]] deps = ["Dates", "Mmap", "Parsers", "Unicode"] @@ -166,6 +208,12 @@ git-tree-sha1 = "b34d7cef7b337321e97d22242c3c2b91f476748e" uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" version = "0.21.0" +[[JSONSchema]] +deps = ["BinaryProvider", "HTTP", "JSON"] +git-tree-sha1 = "b0a7f9328967df5213691d318a03cf70ea8c76b1" +uuid = "7d188eb4-7ad8-530c-ae41-71a32a6d4692" +version = "0.2.0" + [[JuMP]] deps = ["Calculus", "DataStructures", "ForwardDiff", "LinearAlgebra", "MathOptInterface", "NaNMath", "Random", "SparseArrays", "Statistics"] git-tree-sha1 = "ba7f96010ed290d77d5c941c32e5df107ca688a4" @@ -179,6 +227,7 @@ uuid = "1b4a561d-cfcb-5daf-8433-43fcf8b4bea3" version = "0.4.1" [[LibGit2]] +deps = ["Printf"] uuid = "76f85450-5226-5b5a-8eaa-529ad045b433" [[Libdl]] @@ -196,25 +245,42 @@ deps = ["Base64"] uuid = "d6f4376e-aef5-505a-96c1-9c027394607a" [[MathOptInterface]] -deps = ["BenchmarkTools", "LinearAlgebra", "OrderedCollections", "SparseArrays", "Test", "Unicode"] -git-tree-sha1 = "78427dcc212e0c0ad9658049bc56a50303ad9737" +deps = ["BenchmarkTools", "CodecBzip2", "CodecZlib", "JSON", "JSONSchema", "LinearAlgebra", "MutableArithmetics", "OrderedCollections", "SparseArrays", "Test", "Unicode"] +git-tree-sha1 = "27f2ef85879b8f1d144266ab44f076ba0dfbd8a1" uuid = "b8f27783-ece8-5eb3-8dc8-9495eed66fee" -version = "0.9.7" +version = "0.9.13" -[[MathProgBase]] -deps = ["Compat"] -git-tree-sha1 = "3bf2e534e635df810e5f4b4f1a8b6de9004a0d53" -uuid = "fdba3010-5040-5b88-9595-932c9decdf73" -version = "0.7.7" +[[MbedTLS]] +deps = ["Dates", "MbedTLS_jll", "Random", "Sockets"] +git-tree-sha1 = "426a6978b03a97ceb7ead77775a1da066343ec6e" +uuid = "739be429-bea8-5141-9913-cc70e7f3736d" +version = "1.0.2" + +[[MbedTLS_jll]] +deps = ["Libdl", "Pkg"] +git-tree-sha1 = "c83f5a1d038f034ad0549f9ee4d5fac3fb429e33" +uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1" +version = "2.16.0+2" [[Mmap]] uuid = "a63ad114-7e13-5084-954f-fe012c677804" +[[MutableArithmetics]] +deps = ["LinearAlgebra", "SparseArrays", "Test"] +git-tree-sha1 = "e1edd618a8f39d16f8595dd622a63b25f759cf8a" +uuid = "d8a4904e-b15c-11e9-3269-09a3773c0cb0" +version = "0.2.9" + [[NaNMath]] -deps = ["Compat"] -git-tree-sha1 = "ce3b85e484a5d4c71dd5316215069311135fa9f2" +git-tree-sha1 = "928b8ca9b2791081dc71a51c55347c27c618760f" uuid = "77ba4419-2d1f-58cd-9bb1-8ffee604a2e3" -version = "0.3.2" +version = "0.3.3" + +[[OpenSpecFun_jll]] +deps = ["CompilerSupportLibraries_jll", "Libdl", "Pkg"] +git-tree-sha1 = "d51c416559217d974a1113522d5919235ae67a87" +uuid = "efe28fd5-8261-553b-a9e1-b2916fc3738e" +version = "0.5.3+3" [[OrderedCollections]] deps = ["Random", "Serialization", "Test"] @@ -230,22 +296,18 @@ version = "0.12.0" [[Parsers]] deps = ["Dates", "Test"] -git-tree-sha1 = "a23968e107c0544aca91bfab6f7dd34de1206a54" +git-tree-sha1 = "f8f5d2d4b4b07342e5811d2b6428e45524e241df" uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0" -version = "0.3.9" +version = "1.0.2" [[Pkg]] -deps = ["Dates", "LibGit2", "Markdown", "Printf", "REPL", "Random", "SHA", "UUIDs"] +deps = ["Dates", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "UUIDs"] uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" [[Printf]] deps = ["Unicode"] uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7" -[[Profile]] -deps = ["Printf"] -uuid = "9abbd945-dff8-562f-b5e8-e1ebf5ef1b79" - [[REPL]] deps = ["InteractiveUtils", "Markdown", "Sockets"] uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb" @@ -255,9 +317,9 @@ deps = ["Serialization"] uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" [[RecipesBase]] -git-tree-sha1 = "7bdce29bc9b2f5660a6e5e64d64d91ec941f6aa2" +git-tree-sha1 = "b4ed4a7f988ea2340017916f7c9e5d7560b52cae" uuid = "3cdcf5f2-1ef4-517c-9805-6587b60abb01" -version = "0.7.0" +version = "0.8.0" [[SHA]] uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce" @@ -283,10 +345,10 @@ deps = ["LinearAlgebra", "Random"] uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" [[SpecialFunctions]] -deps = ["BinDeps", "BinaryProvider", "Libdl"] -git-tree-sha1 = "3bdd374b6fd78faf0119b8c5d538788dbf910c6e" +deps = ["OpenSpecFun_jll"] +git-tree-sha1 = "e19b98acb182567bcb7b75bb5d9eedf3a3b5ec6c" uuid = "276daf66-3868-5448-9aa4-cd146d93841b" -version = "0.8.0" +version = "0.10.0" [[StaticArrays]] deps = ["LinearAlgebra", "Random", "Statistics"] @@ -302,6 +364,12 @@ uuid = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" deps = ["Distributed", "InteractiveUtils", "Logging", "Random"] uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40" +[[TranscodingStreams]] +deps = ["Random", "Test"] +git-tree-sha1 = "7c53c35547de1c5b9d46a4797cf6d8253807108c" +uuid = "3bb67fe8-82b1-5028-8e26-92a6c54297fa" +version = "0.9.5" + [[URIParser]] deps = ["Test", "Unicode"] git-tree-sha1 = "6ddf8244220dfda2f17539fa8c9de20d6c575b69" @@ -314,3 +382,9 @@ uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4" [[Unicode]] uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5" + +[[Zlib_jll]] +deps = ["Libdl", "Pkg"] +git-tree-sha1 = "2f6c3e15e20e036ee0a0965879b31442b7ec50fa" +uuid = "83775a58-1f1d-513f-b197-d71354ab007a" +version = "1.2.11+9" diff --git a/Project.toml b/Project.toml index ad71915..d5cb441 100644 --- a/Project.toml +++ b/Project.toml @@ -1,7 +1,7 @@ name = "PropertyT" uuid = "03b72c93-0167-51e2-8a1e-eb4ff1fb940d" authors = ["Marek Kaluba "] -version = "0.3.1" +version = "0.3.2" [deps] AbstractAlgebra = "c3fe647b-3220-5bb0-a1ea-a7954cac585d" @@ -12,16 +12,16 @@ IntervalArithmetic = "d1acc4aa-44c8-5952-acd4-ba5d80a2a253" JLD = "4138dd39-2aa7-5051-a626-17a0bb65d9c8" JuMP = "4076af6c-e467-56ae-b986-b466b2749572" LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" -Markdown = "d6f4376e-aef5-505a-96c1-9c027394607a" -MathProgBase = "fdba3010-5040-5b88-9595-932c9decdf73" -Printf = "de0858da-6303-5e67-8744-51eddeeeb8d7" SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" [compat] -AbstractAlgebra = "^0.7.0" -GroupRings = "^0.3.0" -Groups = "^0.3.0" -julia = "≥ 1.1.0" +AbstractAlgebra = "^0.9.0" +GroupRings = "^0.3.1" +Groups = "^0.4.0" +IntervalArithmetic = "^0.16.0" +JLD = "^0.9.0" +JuMP = "^0.20.0" +julia = "^1.3.0, ^1.4.0" [extras] SCS = "c946c3f1-0d1f-5ce8-9dea-7daa1f7e2d13" diff --git a/REQUIRE b/REQUIRE deleted file mode 100644 index 12f454a..0000000 --- a/REQUIRE +++ /dev/null @@ -1,8 +0,0 @@ -julia -AbstractAlgebra -Groups -GroupRings -IntervalArithmetic -JuMP -JLD -SCS diff --git a/src/1712.07167.jl b/src/1712.07167.jl index ac9d707..4eb5d82 100644 --- a/src/1712.07167.jl +++ b/src/1712.07167.jl @@ -1,5 +1,3 @@ -using Printf - ############################################################################### # # Settings and filenames diff --git a/src/1812.03456.jl b/src/1812.03456.jl index bf36e78..ff3a71b 100644 --- a/src/1812.03456.jl +++ b/src/1812.03456.jl @@ -2,8 +2,8 @@ indexing(n) = [(i,j) for i in 1:n for j in 1:n if i≠j] function generating_set(G::AutGroup{N}, n=N) where N - rmuls = [Groups.rmul_autsymbol(i,j) for (i,j) in indexing(n)] - lmuls = [Groups.lmul_autsymbol(i,j) for (i,j) in indexing(n)] + rmuls = [Groups.transvection_R(i,j) for (i,j) in indexing(n)] + lmuls = [Groups.transvection_L(i,j) for (i,j) in indexing(n)] gen_set = G.([rmuls; lmuls]) return [gen_set; inv.(gen_set)] diff --git a/src/PropertyT.jl b/src/PropertyT.jl index f56a3a9..8c405ce 100644 --- a/src/PropertyT.jl +++ b/src/PropertyT.jl @@ -4,7 +4,6 @@ module PropertyT using AbstractAlgebra using LinearAlgebra using SparseArrays -using Markdown using Dates using Groups @@ -15,8 +14,6 @@ using JuMP import AbstractAlgebra: Group, NCRing -import MathProgBase.SolverInterface.AbstractMathProgSolver - include("laplacians.jl") include("RGprojections.jl") include("orbitdata.jl") diff --git a/src/RGprojections.jl b/src/RGprojections.jl index ef7f94d..50ceb86 100644 --- a/src/RGprojections.jl +++ b/src/RGprojections.jl @@ -3,7 +3,6 @@ module Projections using AbstractAlgebra using Groups using GroupRings -using Markdown export PermCharacter, DirectProdCharacter, rankOne_projections @@ -55,7 +54,7 @@ for T in [PermCharacter, DirectProdCharacter] end end -characters(G::Generic.PermGroup) = (PermCharacter(p) for p in AllParts(G.n)) +characters(G::Generic.SymmetricGroup) = (PermCharacter(p) for p in AllParts(G.n)) function characters(G::DirectPowerGroup{N}) where N nfold_chars = Iterators.repeated(characters(G.group), N) @@ -80,7 +79,7 @@ function central_projection(RG::GroupRing, chi::AbstractCharacter, T::Type=Ratio return result end -function alternating_emb(RG::GroupRing{Gr,T}, V::Vector{T}, S::Type=Rational{Int}) where {Gr<:Generic.PermGroup, T<:GroupElem} +function alternating_emb(RG::GroupRing{Gr,T}, V::Vector{T}, S::Type=Rational{Int}) where {Gr<:AbstractAlgebra.AbstractPermutationGroup, T<:GroupElem} res = RG(S) for g in V res[g] += sign(g) @@ -88,7 +87,7 @@ function alternating_emb(RG::GroupRing{Gr,T}, V::Vector{T}, S::Type=Rational{Int return res end -function idempotents(RG::GroupRing{Generic.PermGroup{S}}, T::Type=Rational{Int}) where S<:Integer +function idempotents(RG::GroupRing{Generic.SymmetricGroup{S}}, T::Type=Rational{Int}) where S<:Integer if RG.group.n == 1 return GroupRingElem{T}[one(RG,T)] elseif RG.group.n == 2 @@ -142,7 +141,7 @@ function rankOne_projection(chi::PermCharacter, idems::Vector{T}) where {T<:Grou throw("Couldn't find rank-one projection for $chi") end -function rankOne_projections(RG::GroupRing{G}, T::Type=Rational{Int}) where G<:Generic.PermGroup +function rankOne_projections(RG::GroupRing{<:Generic.SymmetricGroup}, T::Type=Rational{Int}) if RG.group.n == 1 return [GroupRingElem([one(T)], RG)] end @@ -170,7 +169,7 @@ function rankOne_projections(RBn::GroupRing{G}, T::Type=Rational{Int}) where {G< N = Bn.P.n # projections as elements of the group rings RSₙ Sn_rankOnePr = [rankOne_projections( - GroupRing(PermGroup(i), collect(PermGroup(i)))) + GroupRing(SymmetricGroup(i), collect(SymmetricGroup(i)))) for i in typeof(N)(1):N] # embedding into group ring of BN @@ -208,15 +207,16 @@ end # ############################################################################## -@doc doc""" - products(X::Vector{GroupElem}, Y::Vector{GroupElem}, op=*) -> Returns a vector of all possible products (or `op(x,y)`), where $x\in X$ and -> $y\in Y$ are group elements. You may specify which operation is used when -> forming 'products' by adding `op` (which is `*` by default). +""" + products(X::Vector{GroupElem}, Y::Vector{GroupElem}[, op=*]) +Return a vector of all possible products (or `op(x,y)`), where `x ∈ X` and +`y ∈ Y`. You may change which operation is used by specifying `op` argument. """ function products(X::AbstractVector{T}, Y::AbstractVector{T}, op=*) where {T<:GroupElem} result = Vector{T}() seen = Set{T}() + sizehint!(result, length(X)*length(Y)) + sizehint!(seen, length(X)*length(Y)) for x in X for y in Y z = op(x,y) @@ -229,25 +229,21 @@ function products(X::AbstractVector{T}, Y::AbstractVector{T}, op=*) where {T<:Gr return result end -@doc doc""" - generateGroup(gens::Vector{GroupElem}, r=2, Id=parent(first(gens))(), op=*) -> Produces all elements of a group generated by elements in `gens` in ball of -> radius `r` (word-length metric induced by `gens`). -> If `r(=2)` is specified the procedure will terminate after generating ball -> of radius `r` in the word-length metric induced by `gens`. -> The identity element `Id` and binary operation function `op` can be supplied -> to e.g. take advantage of additive group structure. """ -function generateGroup(gens::Vector{T}, r=2, Id::T=one(parent(first(gens))), op=*) where {T<:GroupElem} + generateGroup(gens::Vector{GroupElem}, r, [op=*]) +Produce all elements of a group generated by elements in `gens` in ball of +radius `r` (word-length metric induced by `gens`). The binary operation can +be optionally specified. +""" +function generateGroup(gens::Vector{T}, r, op=*) where {T<:GroupElem} n = 0 R = 1 - elts = gens - gens = [Id; gens] + elts = [one(first(gens)); gens] while n ≠ length(elts) && R < r # @show elts R += 1 n = length(elts) - elts = products(elts, gens, op) + elts = products(gens, elts, op) end return elts end