|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object cayleytable.groupIdentify
public class groupIdentify
Class used to identify by name the current groupMatrix
object that
it contains.
Nested Class Summary | |
---|---|
private class |
groupIdentify.factorType
Class to store a prime and number used of a prime factorization |
private class |
groupIdentify.num_order
Class used to store element orders and the number of elements of that order |
Field Summary | |
---|---|
private boolean |
identified
Boolean result of the identification routine |
private groupMatrix |
identifyMatrix
groupMatrix object that is to be identified. |
private java.lang.String |
name
String object containing name of current groupMatrix object stored
in the class. |
Constructor Summary | |
---|---|
groupIdentify()
Creates a new instance of groupIdentify with a groupMatrix object
of order 0 and no name. |
Method Summary | |
---|---|
private java.util.ArrayList<groupIdentify.num_order> |
build_num_order_arrayList(int[] order)
Method to determine the number of elements in the group of each order. |
private int[] |
build_order_array()
Method to determine the order of each of the elements in the group. |
private boolean |
centerIsKlein4(java.util.ArrayList<java.lang.Integer> center_list,
int[] order)
Method to determine if the center elements in the group correspond to the Klein-4 group. |
private java.util.ArrayList<java.lang.Integer> |
computeCenter()
Method to determine the elements in the group that are the center of the group. |
private java.lang.String |
determineInnerAutomorphism()
Method to determine the inner automorphism of the group being identified. |
java.util.ArrayList<java.lang.Integer> |
generateSubGroupList(int element)
Method to determine the elements in a subgroup that include a specific element. |
private java.lang.String |
generateUniqueFactor(groupIdentify.factorType nextFactor,
int terms)
Method to generate remaining factors based upon a specific number of a prime order and a number or terms those primes should be combined into. |
java.lang.String |
getName()
Method to return name of group stored in identifyMatrix groupMatrix object |
private java.lang.String |
identifyAbelianXGroup(int[] order,
java.util.ArrayList<groupIdentify.num_order> orderList)
Method to determine remaining Abelian groups that have not been identified by the isCyclic , isTwoPrime , and isPrimeSqrd methods. |
private java.lang.String |
identifyNonAbelianGroup(int[] order,
java.util.ArrayList<groupIdentify.num_order> orderList)
Method to determine remaining non-Abelian group names for all groups of order less than or equal to 32. |
private boolean |
isCyclic(int[] order)
Method to determine if current group is a cyclic group. |
boolean |
isIdentified()
Method to return result of whether the group in identifyMatrix
groupMatrix object could be identified. |
private boolean |
isPrime(int n)
Method to determine if a given value is prime |
private boolean |
isPrimeSqrd(int n)
Method to determine if a given value is prime^2 |
private boolean |
isTwoPrime(int n)
Method to determine if a given value is 2*prime |
private boolean |
normal(java.util.ArrayList<java.lang.Integer> subGroupList)
Method to determine if the elements in a subgroup make up a normal subgroup. |
private int |
numElementsOfOrder(java.util.ArrayList<groupIdentify.num_order> orderList,
int k)
Method to determine the number of elements in a group of a given order. |
private java.util.ArrayList<groupIdentify.factorType> |
primeFactor(int n)
Method to determine the prime factorization of a given value |
void |
resetGroupIdentify(groupMatrix myGroup)
Method to update the identifyMatrix groupMatrix object stored in the class as well
as the method to actually identify the group stored in the identifyMatrix groupMatrix
object. |
private void |
showCenterOrders(java.util.ArrayList<java.lang.Integer> center_list,
int[] order)
Method to determine center elements in the group and their order. |
private boolean |
subGroupsAllNormal()
Method to determine if all subgroups of the group are normal. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private groupMatrix identifyMatrix
groupMatrix
object that is to be identified.
private java.lang.String name
groupMatrix
object stored
in the class.
private boolean identified
Constructor Detail |
---|
public groupIdentify()
groupIdentify
with a groupMatrix
object
of order 0 and no name.
Method Detail |
---|
public void resetGroupIdentify(groupMatrix myGroup)
identifyMatrix
groupMatrix
object stored in the class as well
as the method to actually identify the group stored in the identifyMatrix
groupMatrix
object.
myGroup
- groupMatrix
object to be identifiedpublic java.lang.String getName()
identifyMatrix
groupMatrix
object
public boolean isIdentified()
identifyMatrix
groupMatrix
object could be identified.
private int[] build_order_array()
private java.util.ArrayList<groupIdentify.num_order> build_num_order_arrayList(int[] order)
order
- Array of integers containing order of all elements in the group
groupIdentify.numOrder
that contains the number of elements of a specific order of the group.private boolean isCyclic(int[] order)
order
- Array of integers containing order of all elements in the group
private boolean isPrime(int n)
n
- integer value to check
private boolean isTwoPrime(int n)
n
- integer value to check
private boolean isPrimeSqrd(int n)
n
- integer value to check
private java.lang.String identifyAbelianXGroup(int[] order, java.util.ArrayList<groupIdentify.num_order> orderList)
isCyclic
, isTwoPrime
, and isPrimeSqrd
methods.
All remaining Abelian groups are of the cross product form.
order
- Array of integers containing order of all elements in the grouporderList
- ArrayList of groupIdentify.numOrder
that contains the number of elements of a specific order of the group.
private java.util.ArrayList<groupIdentify.factorType> primeFactor(int n)
n
- integer value to factor
groupIdentify.factorType
containing prime factors and the number of those primes used in the factorizationprivate int numElementsOfOrder(java.util.ArrayList<groupIdentify.num_order> orderList, int k)
orderList
- ArrayList of groupIdentify.numOrder
that contains the number of elements of a specific order of the group.k
- integer of order to check
private java.lang.String generateUniqueFactor(groupIdentify.factorType nextFactor, int terms)
nextFactor
- groupIdentify.factorType containing next prime and the number of primes that are to be usedterms
- integer providing number of terms in the cross product to be returned
private java.lang.String identifyNonAbelianGroup(int[] order, java.util.ArrayList<groupIdentify.num_order> orderList)
identified
to false if name cannot be determined or order is greater than 32.
order
- Array of integers containing order of all elements in the grouporderList
- ArrayList of groupIdentify.numOrder
that contains the number of elements of a specific order of the group.
private java.util.ArrayList<java.lang.Integer> computeCenter()
private boolean centerIsKlein4(java.util.ArrayList<java.lang.Integer> center_list, int[] order)
center_list
- ArrayList of Integers representing elements that make up the center of the grouporder
- Array of integers containing order of all elements in the group
private void showCenterOrders(java.util.ArrayList<java.lang.Integer> center_list, int[] order)
center_list
- ArrayList of Integers representing elements that make up the center of the grouporder
- Array of integers containing order of all elements in the groupprivate boolean subGroupsAllNormal()
public java.util.ArrayList<java.lang.Integer> generateSubGroupList(int element)
element
- integer of element contained in subgroup
private boolean normal(java.util.ArrayList<java.lang.Integer> subGroupList)
subGroupList
- ArrayList of Integers representing elements that make up the center of the group
private java.lang.String determineInnerAutomorphism()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |