checkStarIsomorphism: Checking the Isomorphism of Two Stars

Description Usage Arguments Details Value Author(s) References See Also Examples

View source: R/mainfunctions.R

Description

This function checks the isomorphism of two balanced covering stars of PG(n-1,2). If they are isomorphic, it returns the list of isomorphism establishing collineations. The option is provided to enumerate all isomorphism establishing collineations or to terminate after the first one is found.

Usage

1
checkStarIsomorphism(star1, star2, returnfirstIEC = FALSE)

Arguments

star1

A star of PG(n-1,2) stored as a three dimensional binary array (see Details and Examples of checkSpreadEquivalence ).

star2

A star of PG(n-1,2) stored as a three dimensional binary array (see Details and Examples of checkSpreadEquivalence).

returnfirstIEC

An indicator of whether all isomorphism establishing collineations (IECs) should be returned (default), or terminate only after the first one is found.

Details

This code considers all possible collineations of PG(n-1,2) to search for isomorphism establishing collineations from star1 to star2. The search is conducted by first projecting onto a lower dimensional space described as Algorithm 2 in Spencer et al. (2019). Equivalence is assessed using the bitstring comparison method described in Spencer et al. (2019). Both input stars should be formatted as 3-dimensional arrays with star1[i,j,k] indicating whether or not the ith basic factor is present in the jth effect of the kth flat of star1.

Value

A list containing two objects. The first object is a Boolean indicating whether or not star1 is isomorphic to star2. If isomorphic, the second object is a list of isomorphism establishing collineation matrices. If not isomorphic, the second object is NA.

Author(s)

Neil Spencer, Pritam Ranjan, Franklin Mendivil

References

Spencer, N.A., Ranjan, P., and Mendivil, F., (2019), "Isomorphism Check for 2^n Factorial Designs with Randomization Restrictions", Journal of Statistical Theory and Practice, 13(60),1-24 [https://doi.org/10.1007/s42519-019-0064-5]

See Also

checkSpreadIsomorphism for checking the isomorphism of spreads.
checkStarEquivalence for checking the equivalence of stars.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
## Example 1: Two stars of PG(4,2) consisting of 4-flats
data(starn5t3a)
data(starn5t3b)
test1 <- checkStarIsomorphism(starn5t3a, starn5t3b, returnfirstIEC = TRUE)
test1$result # the test indicates that they are isomorphic
(IECstar <- test1$IECs[[1]]) # the first IEC




## Example 2: Two stars of PG(7,2) consisting of 6-flats
data(starn8t5a)
data(starn8t5b)
test2 <- checkStarIsomorphism(starn8t5a, starn8t5b, returnfirstIEC = TRUE)
test2$result

IsoCheck documentation built on March 25, 2020, 5:09 p.m.