Class: Algebra::PermutationGroup
- Inherits:
-
Group
show all
- Defined in:
- lib/algebra/permutation-group.rb
Instance Attribute Summary collapse
Attributes inherited from Group
#unity
Attributes inherited from Set
#body
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from Group
#D, #K, #Z, #ascending_central_series, #center, #center?, #centralizer, #closed?, #commutator, #commutator_series, #complete, #complete!, #conjugacy_class, #conjugacy_classes, #descending_central_series, generate_strong, #nilpotency_class, #nilpotent?, #normal?, #normal_subgroups, #normalizer, #quotient_group, #semi_complete, #semi_complete!, #separate, #simple?, #solvable?, #subgroups, #to_a, #unit_group
Methods inherited from Set
#<, #>, [], #append, #append!, #bijections, #cast, #concat, #decreasing_series, #difference, #dup, #each, #each_member, #each_non_trivial_subset, #each_pair, #each_product, #each_subset, #empty?, #empty_set, empty_set, #eql?, #equiv_class, #hash, #identity_map, #include?, #increasing_series, #injections, #injections0, #inspect, #intersection, #map_s, new_a, new_h, null, phi, #pick, #power, #power_set, #product, #rehash, #separate, #shift, #singleton, singleton, #singleton?, #size, #sort, #subset?, #superset?, #surjections, #to_a, #to_ary, #to_s, #union
#left_act, #left_orbit!, #left_quotient, #left_representatives, #right_act, #right_orbit!, #right_quotient, #right_representatives
Methods included from Enumerable
#all?, #any?, #collecti, #sum
Constructor Details
37
38
39
40
|
# File 'lib/algebra/permutation-group.rb', line 37
def initialize(u, *a)
@degree = u.degree
super(u, *a)
end
|
Instance Attribute Details
Returns the value of attribute degree.
42
43
44
|
# File 'lib/algebra/permutation-group.rb', line 42
def degree
@degree
end
|
Class Method Details
.alternate(n) ⇒ Object
33
34
35
|
# File 'lib/algebra/permutation-group.rb', line 33
def self.alternate(n)
symmetric(n).separate { |x| x.sign > 0 } end
|
21
22
23
|
# File 'lib/algebra/permutation-group.rb', line 21
def self.perm(a)
Permutation.new(a)
end
|
.symmetric(n) ⇒ Object
25
26
27
28
29
30
31
|
# File 'lib/algebra/permutation-group.rb', line 25
def self.symmetric(n)
s = new(unity(n))
Combinatorial.perm(n) do |x|
s << perm(x) end
s
end
|
.unit_group(d) ⇒ Object
13
14
15
|
# File 'lib/algebra/permutation-group.rb', line 13
def self.unit_group(d)
self[unity(d)]
end
|
17
18
19
|
# File 'lib/algebra/permutation-group.rb', line 17
def self.unity(n)
Permutation.unity(n)
end
|