Title: | Hadamard Matrix Generation |
---|---|
Description: | Generates Hadamard matrices using different construction methods. For those who want to generate Hadamard matrix, a generic function, Hadamard_matrix() is provided. For those who want to generate Hadamard matrix using a particular method, separate functions are available. See Horadam (2007, ISBN:9780691119212) Hadamard Matrices and their applications, Princeton University Press for more information on Hadamard Matrices. |
Authors: | Appavoo Dhandapani [aut, cre]
|
Maintainer: | Appavoo Dhandapani <[email protected]> |
License: | GPL-2 |
Version: | 1.0.0 |
Built: | 2025-03-03 04:18:01 UTC |
Source: | https://github.com/cran/HadamardR |
A square matrix H of order n with entries +1 or -1 is called Hadamard Matrix, if HH'=nI, where I is Identity matrix. Necessary condition for Hadamard matrix of order n exists when n = 1,2 or 0(mod 4).
Using HadamardR, Hadamard Matrices of various orders can be generated. Out of 1250 possible Hadamard Matrices of order < 5000 (ignoring trivial orders 1 and 2), the construction methods are not known for 45 orders; 1158 orders are possible using Hadamard_Matrix() function. 47 Hadamard matrices not available in this package are as follows: 1336, 1432, 1940, 2212, 2264, 2292, 2316, 2488, 2740, 2776, 2864, 2872, 3140, 3352, 3476, 3544, 3620, 3684, 3704, 3708, 3820, 3832, 3880, 3892, 3896, 3928, 3972, 3980, 4044, 4120, 4152, 4184, 4268, 4296, 4304, 4344, 4396, 4404, 4432, 4528, 4572, 580, 4632, 4740, 4792, 4812, 4976
antidiagnol performs the creation of Back diagnol matrix.
antidiagnol(n)
antidiagnol(n)
n |
integer |
An anti-diagonal matrix is a square matrix where all the entries are zero except those on the diagonal going from the lower left corner to the upper right corner entries are equal to 1.
In the first row, the last column will be 1 and all other entries are 0.
In second row, last but one column is 1 and others are 0 and so on.
Antidiagnol matrix of order n.
antidiagnol(4) #0 0 0 1 #0 0 1 0 #0 1 0 0 #1 0 0 0
antidiagnol(4) #0 0 0 1 #0 0 1 0 #0 1 0 0 #1 0 0 0
internal function and it is not exported. It converts base sequences to T-Sequences.
base_to_T(dat, x)
base_to_T(dat, x)
dat |
is the frame containing basesequences to be exported |
x |
integer (order of the base sequence) |
dat - Internal dataset containing 4 sequences in long form with lentgh n+p,n+p,n,n. Using the 4 basequences, the function creates 4 sequences of length 2n+p,2n+p,2n+p,2n+p. T-Sequnces are usually used in creating matrices of Goethel Seidal array.
4 T-sequences of length of 2x+p.
The Base sequences were obtained from Christos Koukouvinos
Goethals, J. M. and Seidel, J. J. (1967). Orthogonal matrices with zero diagnol. Canad. J. Math., 19, 259-264.
Extracts the selection of Basesequences from internal dataset. Not exported.
baseseq(order)
baseseq(order)
order |
integer |
Create Basesequence of given order from the internal dataset Basesequence Base sequences are available in the internal table for order= 1:35
Required Basesequences of order of x
The Base sequences were obtained from Christos Koukouvinos
Goethals, J. M. and Seidel, J. J. (1967). Orthogonal matrices with zero diagnol. Canad. J. Math., 19, 259-264.
Checks Hadamard Matrix can be constructed using Baumert-Hall arrays of order 12.
cdn_baumert(order)
cdn_baumert(order)
order |
integer, order of Hadamard matrix to be checked. |
Baumert-Hall array is a generalization of Williamson Array. In case, Williamson matrices are available for order/12, the method return 6 otherwise it returns NULL.
The availabile Williamson sequences in the internal data sets is seq(1,63, 2) except 15, 35, 47, 53, 59 in the internal table.
6 or NULL
Hedayat, A. and Wallis, W. D.(1978). Hadamard Matrices and Their Applications. Ann. Stat. 6: 1184-1238.
had_baumert
for Baumert-Hall's construction method.
cdn_baumert(36) #6 cdn_baumert(72) #NULL
cdn_baumert(36) #6 cdn_baumert(72) #NULL
Checks Hadamard Matrix can be constructed using Williamson arrays and T- sequences.
cdn_cooper(order)
cdn_cooper(order)
order |
integer |
Cooper-Wallis is a construction of Hadamard matrices which combines Williamson matrices and T-sequences.
The availabile Williamson sequences in the internal data sets is seq(1,63, 2) except 15, 35, 47, 53, 59 in the internal table.
The availabile T- sequences in the internal data sets is seq(1,73,2) and 83, 101, 107.
11 or NULL
Cooper, J., and Wallis, W., D. (1972). A construction for Hadamard arrays. Bull. Austral. Math. 7, 269-278.
had_cooper
for Cooper-Wallis construction method.
get_cooper
for finding order of Williamson and T-Sequences.
cdn_cooper(20) #11 cdn_cooper(16) #NULL
cdn_cooper(20) #11 cdn_cooper(16) #NULL
Checks Hadamard Matrix can be constructed using Ehlich's method.
cdn_ehlich(order)
cdn_ehlich(order)
order |
integer |
Ehlich (1965)'s construction method requires order of the Hadamard matrix must be a of the form (n-1)^2. Conditions are (i)Order=(n-1)^2; (ii) n is a prime or prime power and 3(mod 4). (iii) (n-2) must be a prime or prime power. In case, if all the three conditions are satisfied, function will return 4 or NULL.
4 or NULL
Ehlich, H. (1965). Neue Hadamard-matrizen. Arch. Math., 16, 34-36.
had_ehlich
for Ehlich's construction method.
cdn_ehlich(36) #Condition 1:(n-1)^2 = 36 = 6^2 #Condition 2: n=7 (prime)and n=3(mod 4) #Condition 3: n-2=5 (prime) #Return #4 cdn_ehlich(64) #Condition 1:(n-1)^2 = 64 = 8^2 #Condition 2: n=9 (prime power) but n=1(mod 4). #Condition 2 fails #Return #NULL
cdn_ehlich(36) #Condition 1:(n-1)^2 = 36 = 6^2 #Condition 2: n=7 (prime)and n=3(mod 4) #Condition 3: n-2=5 (prime) #Return #4 cdn_ehlich(64) #Condition 1:(n-1)^2 = 64 = 8^2 #Condition 2: n=9 (prime power) but n=1(mod 4). #Condition 2 fails #Return #NULL
Checks Hadamard Matrix can be constructed using available base sequences.
cdn_goethals_base(order)
cdn_goethals_base(order)
order |
integer |
This function checks whether the Hadamard matrix of given order can be constructed using base sequences. If base sequences of length n+1,n+1,n,n are available, T-sequences of length 2n+1,2n+1,2n+1,2n+1 can be constructed. From T-sequence of length 2n+1, Hadamard matrix of order 4(2n+1) can be constructed. Returns the value 7, if it is possible otherwise NULL is returned.
Base sequences are available in the internal dataset is 1:35
7 or NULL
The Base sequences were obtained from Christos Koukouvinos
Goethals, J. M. and Seidel, J. J. (1967). Orthogonal matrices with zero diagnol. Canad. J. Math., 19, 259-264.
had_goethals_base
for Goethals-Seidel construction method.
cdn_goethals_base(20) #7 cdn_goethals_base(24) #NULL
cdn_goethals_base(20) #7 cdn_goethals_base(24) #NULL
Checks Hadamard Matrix can be constructed using available T-sequences.
cdn_goethals_T(order)
cdn_goethals_T(order)
order |
integer |
This function checks whether the Hadamard matrix of given order can be constructed using T sequences. If T sequences of length n,n,n,n are available, Hadamard matrix of order 4n can be constructed. Returns the value 13, if it is possible otherwise NULL is returned.
T-sequences are available for length of seq(1,73,2) and for 83, 101 and 107 in the internal table.
13 or NULL
had_goethals_T
for Goethals-Seidel construction method using T-sequences.
cdn_goethals_T(28) #T-seqeunce of length 7 exists. #13 cdn_goethals_T(24) #T-sequence of length 6 does not exist. #NULL
cdn_goethals_T(28) #T-seqeunce of length 7 exists. #13 cdn_goethals_T(24) #T-sequence of length 6 does not exist. #NULL
Checks Hadamard Matrix can be constructed using available Turyn Type sequences.
cdn_goethals_Turyn(order)
cdn_goethals_Turyn(order)
order |
integer |
This function checks whether the Hadamard matrix of given order can be constructed using Turyn sequences. If Turyn sequences of (order+4)/12 is available then Hadamard matrix of order exists. Returns the value 8, if it is possible otherwise NULL is returned.
Turyn type-sequences are available for 28,30,34,36 in the internal table.
8 or NULL
had_goethals_Turyn
for Goethals-Seidel construction method using Turyn sequences.
cdn_goethals_Turyn(356) #8 cdn_goethals_Turyn(40) #NULL
cdn_goethals_Turyn(356) #8 cdn_goethals_Turyn(40) #NULL
Checks Hadamard Matrix can be constructed by multiplying 2 existing Hadamard matrix.
cdn_kronecker_matrix(r)
cdn_kronecker_matrix(r)
r |
integer |
This function checks whether the Hadamard matrix can be constructed as multiple of 2 Hadamard matrix. Returns the value 12, if it is possible otherwise NULL is returned.
12 or NULL
cdn_kronecker_matrix(8) #12 cdn_kronecker_matrix(12) #NULL
cdn_kronecker_matrix(8) #12 cdn_kronecker_matrix(12) #NULL
Checks Hadamard Matrix can be constructed using Ehlich's method.
cdn_miyamoto(order)
cdn_miyamoto(order)
order |
integer |
In Miyamoto construction, if q= n/4 and q is a prime or prime power and q=1 (mod 4),then there exists an Hadamard Matrix of order n.
9 or NULL
Miyamoto, M. (1991). A Construction of Hadamard matrices. J. Math. Phy., 12, 311-320.
had_miyamoto
for Miyamoto's construction method.
cdn_miyamoto(20) #q=5, is a prime number and q=1(mod 4). #9 cdn_miyamoto(16) #NULL
cdn_miyamoto(20) #q=5, is a prime number and q=1(mod 4). #9 cdn_miyamoto(16) #NULL
cdn_PaleyI Checks Hadamard Matrix can be constructed using Paley I method.
cdn_PaleyI(order)
cdn_PaleyI(order)
order |
integer |
In Paley I method, if q=order-1 and q is prime number and q=3 (mod 4) then the function retuns 2 otherwise NULL.
2 or NULL
Paley, R.E.A.C. (1933). On Orthogonal matrices. J. Combin. Theory, A 57(1), 86-108.
PaleyI
for Paley I construction method.
cdn_PaleyI(8) #2 cdn_PaleyI(16) #NULL
cdn_PaleyI(8) #2 cdn_PaleyI(16) #NULL
cdn_PaleyII Checks Hadamard Matrix can be constructed using Paley II method.
cdn_PaleyII(order)
cdn_PaleyII(order)
order |
integer |
In Paley II method, If q=order/2-1 or q=order/4-1 and q is prime number and q=1 (mod 4) then this function retuns 3 otherwise NULL.
3 or NULL
Paley, R.E.A.C. (1933). On Orthogonal matrices. J. Combin. Theory, A 57(1), 86-108.
PaleyII
for Paley II construction method.
cdn_PaleyII(24) #3 cdn_PaleyII(16) #NULL
cdn_PaleyII(24) #3 cdn_PaleyII(16) #NULL
cdn_PaleyIIprimepower checks Hadamard Matrix can be constructed using Paley II method.
cdn_PaleyIIprimepower(order)
cdn_PaleyIIprimepower(order)
order |
integer |
In Paley II method, q=order/2-1 and q is prime power and q=1 (mod 4) then it retuns 15 otherwise NULL.
15 or NULL
Paley, R.E.A.C. (1933). On Orthogonal matrices. J. Combin. Theory, A 57(1), 86-108.
PaleyIIPrimePower
for Paley construction method.
cdn_PaleyIIprimepower(340) #15 cdn_PaleyIIprimepower(64) #NULL
cdn_PaleyIIprimepower(340) #15 cdn_PaleyIIprimepower(64) #NULL
cdn_PaleyIprimepower checks Hadamard Matrix can be constructed using Paley I method.
cdn_PaleyIprimepower(order)
cdn_PaleyIprimepower(order)
order |
integer |
In Paley I method, If q=order-1 and q is prime power and q=3 (mod 4) then it retuns 14 otherwise NULL.
14 or NULL
Paley, R.E.A.C. (1933). On Orthogonal matrices. J. Combin. Theory, A 57(1), 86-108.
PaleyIPrimePower
for Paley I construction method.
cdn_PaleyI(28) #14 cdn_PaleyI(16) #NULL
cdn_PaleyI(28) #14 cdn_PaleyI(16) #NULL
Checks Hadamard Matrix can be constructed using available Suplementary Difference Sets.
cdn_sds(order)
cdn_sds(order)
order |
integer |
This function checks whether the Hadamard matrix of given order can be constructed using Suplementary Diffrence sets. If SDS is available it Returns the value 10 otherwise NULL.
SDS are available for 103,127,151,163,181,191,239,251,463,631 in the internal table.
10 or NULL
SDS sets are availble from Djokovic (1992a,b,c,d and 1994a,1994b).
Djokovic, D. Z. (1992a). Skew Hadamard matrices of order 4x37 and 4x39. J. Combin. Theory, A 61, 319-321.
Djokovic, D. Z. (1992b). Construction of some new Hadamard matrices. Bull. Austral. math. Soc., 45, 327-332.
Djokovic, D. Z. (1992c). Ten new Hadamard matrices of skew type. Publ.Electrotechnickog Fak., Ser. Mathematika, Univ. of Belgrade, 3, 47-59.
Djokovic, D. Z. (1992d). Ten Hadamard matrices of order 1852 of Goethals-Seidel type. Europ. J. Combinatorics, 13, 245-248.
Djokovic, D. Z. (1994a). Two Hadamard matrices of order 956 of Goethals-Seidel type. Combinatorica, 14(3), 375-377.
Djokovic, D. Z. (1994b). Five new Hadamard matrices of order skew type. Austral. J. Combinatorics, 10, 259-264.
had_SDS
for SDS construction method.
cdn_sds(412) #10 cdn_sds(428) #NULL
cdn_sds(412) #10 cdn_sds(428) #NULL
Checks Hadamard Matrix can be constructed using available Williamson sequences.
cdn_williamson(order)
cdn_williamson(order)
order |
integer |
This function checks whether the Hadamard matrix of given order can be constructed using williamson sequences. If Williamson sequences of length n,n,n,n are available, Hadamard matrix of order 4n can be constructed. Returns the value 5, if it is possible otherwise NULL is returned.
Williamson sequences are available for length of seq(1,63, 2) except 15, 35, 47, 53, 59 in the internal table.
5 or NULL
The Williamson sequences were obtained from Christos Koukouvinos and London (2013).
Williamson, J. (1944). Hadamard determinant theorem and the sum of four squares. Duke. Math. J., 11, 65-81.
Williamson, J. (1947). Note on Hadamard's determnant theorem. Bull. Amer. Math. Soc., 53, 608-613.
London, S. 2013. Constructing New Turyn Type Sequences, T-Sequences and Hadamard Matrices. PhD Thesis, University of Illinois at Chicago, Chicago.
had_williamson
for Williamson construction method using Williamson sequences.
cdn_williamson(20) #5 cdn_goethals_T(24) #NULL
cdn_williamson(20) #5 cdn_goethals_T(24) #NULL
check_hadamard tests whether the input matrix is an Hadamard matrix or not.
check_hadamard(x)
check_hadamard(x)
x |
matrix |
This function can be used to check whether a given matrix is an Hadamard Matrix or not. To ensure that generated matrix is indeed an Hadamard matrix, this function can be used. In case, if the given matrix is an Hadamard matrix, a text message, Given matrix is an Hadamard Matrix of order is printed on the console.
This function checks (i)Input is a matrix; (ii)a square matrix; (iii)Order of the matrix is an Hadamard number; (iv) All elements are either +1 or -1; (v) HH'=nI, where n is the order of the input matrix H and H' is transpose of H.
returns a text message
Hedayat, A. and Wallis, W.D. (1978). Hadamard Matrices and Their Application.Ann. Stat., 6, 1184-1238.
#Example 1: h<-matrix(c(1,1,1,-1),nrow=2,ncol=2) check_hadamard(h) # Given matrix is an Hadamard Matrix of order 2 #Example 2: h<-matrix(c(1,-1,1,-1),nrow=2,ncol=2) check_hadamard(h) #Not an Hadamard matrix #Example 3: h<-Hadamard_Matrix(36) check_hadamard(h) #"Given matrix is an Hadamard Matrix of order 36"
#Example 1: h<-matrix(c(1,1,1,-1),nrow=2,ncol=2) check_hadamard(h) # Given matrix is an Hadamard Matrix of order 2 #Example 2: h<-matrix(c(1,-1,1,-1),nrow=2,ncol=2) check_hadamard(h) #Not an Hadamard matrix #Example 3: h<-Hadamard_Matrix(36) check_hadamard(h) #"Given matrix is an Hadamard Matrix of order 36"
A matrix is said to be circulant if (i+1, j+1)th entry is equal to the (i, j)th entry. Thus, for such matrices, the initial row determines the complex matrix. Whenever i+1,j+1 exceeds the order, modulus operation is carried out.
circulant_mat(x = NA)
circulant_mat(x = NA)
x |
a vector to be used as intial row. |
circulant_mat performs construction of circulant matrices.
circulant matrix of order length of input vector.
Hedayat, A. and Wallis, W.D. (1978). Hadamard Matrices and Their Application.Ann. Stat., 6, 1184-1238.
circulant_mat(c(1,1,-1,0)) # [,1] [,2] [,3] [,4] #[1,] 1 1 -1 0 #[2,] 0 1 1 -1 #[3,] -1 0 1 1 #[4,] 1 -1 0 1 circulant_mat(c(5,9,-7,-2)) # [,1] [,2] [,3] [,4] #[1,] 5 9 -7 -2 #[2,] -2 5 9 -7 #[3,] -7 -2 5 9 #[4,] 9 -7 -2 5
circulant_mat(c(1,1,-1,0)) # [,1] [,2] [,3] [,4] #[1,] 1 1 -1 0 #[2,] 0 1 1 -1 #[3,] -1 0 1 1 #[4,] 1 -1 0 1 circulant_mat(c(5,9,-7,-2)) # [,1] [,2] [,3] [,4] #[1,] 5 9 -7 -2 #[2,] -2 5 9 -7 #[3,] -7 -2 5 9 #[4,] 9 -7 -2 5
This function provides the Williamson Matrix order and T-Sequence length required to construct Hadamard matrix.
get_cooper(x)
get_cooper(x)
x |
integer Hadamard Matrix Order to Check |
If m is the order of T-Sequence and n is the order of Williamson sequence and both exists. Cooper and Wallis (1972) showed a construction method for Hadamard matrix of order 4mn exists. This function returns m and n if they exists otherwise NULL value is returned.
m Tsequence order
n Williamson order
Cooper, J., and Wallis, J. 1972. A construction for Hadamard arrays. Bull. Austral. Math. Soc., 07: 269-277.
get_cooper(340) #$m #[1] 5 #$n #[1] 17 get_cooper(256) #NULL
get_cooper(340) #$m #[1] 5 #$n #[1] 17 get_cooper(256) #NULL
Get_method helps finding the given order of the matrix is constructed by which method.
Get_method(order)
Get_method(order)
order |
integer |
Method name of the given order.
Get_method(92) # Williamson method Get_method(24) # Paley I
Get_method(92) # Williamson method Get_method(24) # Paley I
Addition table of GF(P^r)
GFADD(GFElem, p, r)
GFADD(GFElem, p, r)
GFElem |
integer (Can be obtained by calling GFELEM function) |
p |
integer (a prime number) |
r |
integer (a positive integer) |
This function returns addition table of Galois field of order p^r. To use this function, Minimum function, elements of GF are required. Minimum functions are available in internal dataset. Elements can be generated using GFELEM function.
A matrix of size p^r x p^r
p<-3 r<-2 cardin<-p^2 mf<-subset(HadamardR:::minimumfunction,HadamardR:::minimumfunction$s==cardin) MF<-mf$coeff GFElem<-GFELEM(p,r,MF) GFADD(GFElem,p,r) #Addition Table of GF(9)
p<-3 r<-2 cardin<-p^2 mf<-subset(HadamardR:::minimumfunction,HadamardR:::minimumfunction$s==cardin) MF<-mf$coeff GFElem<-GFELEM(p,r,MF) GFADD(GFElem,p,r) #Addition Table of GF(9)
This is an internal function to return the position of argument add in elements of GF(cardin)
GFCheck(GFElem, r, cardin, add)
GFCheck(GFElem, r, cardin, add)
GFElem |
integer array |
r |
integer |
cardin |
integer |
add |
integer array |
This function is not exported. Used for checking the result of addition or multiplication of GFElements.
i integer The position of the element checked in GFElem
Elements of Galois Field, GF(P^r)
GFELEM(p, r, MF)
GFELEM(p, r, MF)
p |
integer (a prime number) |
r |
integer (a positive integer) |
MF |
Integer Array containing Minimum function |
This function returns Elements of Galois field of order p^r. To use this function, Minimum function is required. Minimum functions are available in internal dataset. To use the Minimum function from the internal, use HadamardR:::
A vector of size p^r
library(HadamardR) p<-3 r<-2 cardin=9 mf<-subset(HadamardR:::minimumfunction,HadamardR:::minimumfunction$s==cardin) MF<-mf$coeff GFElem<-GFELEM(p,r,MF) GFElem
library(HadamardR) p<-3 r<-2 cardin=9 mf<-subset(HadamardR:::minimumfunction,HadamardR:::minimumfunction$s==cardin) MF<-mf$coeff GFElem<-GFELEM(p,r,MF) GFElem
GFM GFM Generate Multiplication table of GF(p^r), where p is a prime power.
GFM(cardin)
GFM(cardin)
cardin |
integer |
This function returns Multiplication table of Galois field of order p^r. To use this function, Minimum function, elements of GF are required. Minimum functions are available in internal dataset. Elements can be generated using GFELEM function.
Multiplication table of GF(p^r)
GFM(9) ## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] ## [1,] 1 1 1 1 1 1 1 1 1 ## [2,] 1 3 4 5 6 7 8 9 2 ## [3,] 1 4 5 6 7 8 9 2 3 ## [4,] 1 5 6 7 8 9 2 3 4 ## [5,] 1 6 7 8 9 2 3 4 5 ## [6,] 1 7 8 9 2 3 4 5 6 ## [7,] 1 8 9 2 3 4 5 6 7 ## [8,] 1 9 2 3 4 5 6 7 8 ## [9,] 1 2 3 4 5 6 7 8 9
GFM(9) ## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] ## [1,] 1 1 1 1 1 1 1 1 1 ## [2,] 1 3 4 5 6 7 8 9 2 ## [3,] 1 4 5 6 7 8 9 2 3 ## [4,] 1 5 6 7 8 9 2 3 4 ## [5,] 1 6 7 8 9 2 3 4 5 ## [6,] 1 7 8 9 2 3 4 5 6 ## [7,] 1 8 9 2 3 4 5 6 7 ## [8,] 1 9 2 3 4 5 6 7 8 ## [9,] 1 2 3 4 5 6 7 8 9
GFMult GFMult Generate Multiplication table of GF(p^r), where p is a prime power.
GFMult(cardin)
GFMult(cardin)
cardin |
integer |
This function returns Multiplication table of Galois field of order p^r. To use this function, Minimum function, elements of GF are required. Minimum functions are available in internal dataset. Elements can be generated using GFELEM function.
Multiplication table of GF(p^r)
GFMult(9) ## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] ## [1,] 1 1 1 1 1 1 1 1 1 ## [2,] 1 3 4 5 6 7 8 9 2 ## [3,] 1 4 5 6 7 8 9 2 3 ## [4,] 1 5 6 7 8 9 2 3 4 ## [5,] 1 6 7 8 9 2 3 4 5 ## [6,] 1 7 8 9 2 3 4 5 6 ## [7,] 1 8 9 2 3 4 5 6 7 ## [8,] 1 9 2 3 4 5 6 7 8 ## [9,] 1 2 3 4 5 6 7 8 9
GFMult(9) ## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] ## [1,] 1 1 1 1 1 1 1 1 1 ## [2,] 1 3 4 5 6 7 8 9 2 ## [3,] 1 4 5 6 7 8 9 2 3 ## [4,] 1 5 6 7 8 9 2 3 4 ## [5,] 1 6 7 8 9 2 3 4 5 ## [6,] 1 7 8 9 2 3 4 5 6 ## [7,] 1 8 9 2 3 4 5 6 7 ## [8,] 1 9 2 3 4 5 6 7 8 ## [9,] 1 2 3 4 5 6 7 8 9
GFPrimeAdd creates the addition Table for GF(p), where p is a prime number
GFPrimeAdd(p)
GFPrimeAdd(p)
p |
integer |
If the elements of GF(p) are 0,1,..,p-1 then the (i,j)th element of matrix returned is addition of (i-1)th and (j-1)th elements. The additions are subjected to modulo p.
Addition Table of GF(p) in the form of matrix of order p x p.
GFPrimeAdd(5) #[,1] [,2] [,3] [,4] [,5] #[1,] 0 1 2 3 4 #[2,] 1 2 3 4 0 #[3,] 2 3 4 0 1 #[4,] 3 4 0 1 2 #[5,] 4 0 1 2 3
GFPrimeAdd(5) #[,1] [,2] [,3] [,4] [,5] #[1,] 0 1 2 3 4 #[2,] 1 2 3 4 0 #[3,] 2 3 4 0 1 #[4,] 3 4 0 1 2 #[5,] 4 0 1 2 3
GFPrimeMult GFPrimeMult creates Multiplication Table for GF(p), where p is a prime number
GFPrimeMult(p)
GFPrimeMult(p)
p |
integer |
If the elements of GF(p) are 0,1,..,p-1 then the (i,j)th element of matrix returned is multiplication of (i-1)th and (j-1)th elements. The multiplications are subjected to modulo p.
Multiplication Table of GF(p) in the form of matrix of order p x p.
GFPrimeMult(5) #[,1] [,2] [,3] [,4] [,5] #[1,] 0 0 0 0 0 #[2,] 0 1 2 3 4 #[3,] 0 2 4 1 3 #[4,] 0 3 1 4 2 #[5,] 0 4 3 2 1
GFPrimeMult(5) #[,1] [,2] [,3] [,4] [,5] #[1,] 0 0 0 0 0 #[2,] 0 1 2 3 4 #[3,] 0 2 4 1 3 #[4,] 0 3 1 4 2 #[5,] 0 4 3 2 1
goethals_seidel_array performs the construction of Hadamard matrix by Goethals-Seidel method
goethals_seidel_array(A = NA, B = NA, C = NA, D = NA)
goethals_seidel_array(A = NA, B = NA, C = NA, D = NA)
A |
matrix |
B |
matrix |
C |
matrix |
D |
matrix |
For this function requrires the four matrices, all the four matrix are Circulant matrices same order.R is an antidiagonal matrix of the same order With which it should satisfy the AA'+ BB'+ CC'+ DD'=4nI, where I is the identity matrix of order n. This function returns matrix of order 4n where n is the order of the given matrices.
goethals_seidel matrix of order 4n
Goethals, J. M. and Seidel, J. J. (1967). Orthogonal matrices with zero diagnol. Canad. J. Math., 19, 259-264.
had_baumert performs the constrution of Hadamard matrix by Baumert-Hall method.
had_baumert(n)
had_baumert(n)
n |
integer (order of the matrix) |
Baumert-Hall arrays extension of the williamson array. For construction of matrix it requires the Williamson sequences.For different order of the matrix it requries different williamson sequences.If williamson sequences are not available it Returns NULL.
Williamson sequences are available for length of seq(1,63, 2) except 15, 35, 47, 53, 59 in the internal table.
Hadamard matrix of order n
The Williamson sequences are available in London (2013) and Christos Koukouvinos
Baumert, L. D., and Hall, M. Jr. (1965). A new construction method for Hadamard matrices. Bull. Amer. Math. Soc., 71, 169-170
Hedayat, A. and Wallis, W.D. (1978). Hadamard Matrices and Their Application. Ann. Stat., 6, 1184-1238.
London, S. 2013. Constructing New Turyn Type Sequences, T-Sequences and Hadamard Matrices. PhD Thesis, University of Illinois at Chicago, Chicago.
had_baumert(372) #Big matrix. had_baumert(24) #NULL
had_baumert(372) #Big matrix. had_baumert(24) #NULL
had_cooper performs the construction of Hadamard matrix by Cooper-Wallis method.In which combines the williamson matrices and T-sequences.
had_cooper(n)
had_cooper(n)
n |
integer (order of the matrix=876) |
Hadamard matrix of order n
The williamson sequences and Turyn sequences were obtained from Christos Koukouvinos
Cooper, J. and Wallis, W. D. (1972). A construction for Hadamard arrays. Bull. Austral. Math. 7, 269-278.
had_ehlich performs the construction of Hadamard matrix by Ehlich method
had_ehlich(x)
had_ehlich(x)
x |
Integer (order of the Hadamard matrix) |
Ehlich (1965)'s construction method requires order of the Hadamard matrix must be a of the form (n-1)^2. Conditions are (i)Order=(n-1)^2; (ii) n is a prime or prime power and 3(mod 4); (iii) (n-2) must be a prime or prime power. In case, if all the three conditions are satisfied,then function will return Hadamard matrix of order x otherwise NULL.
Hadamard matrix of order x
Ehlich, H. (1965). Neue Hadamard-matrizen. Arch. Math., 16, 34-36.
had_ehlich(36) had_ehlich(20) #NULL
had_ehlich(36) had_ehlich(20) #NULL
had_goethals_base performs the construction of Hadamard Matrix from Goethals-Seidel method. by using the Base sequences.
had_goethals_base(x)
had_goethals_base(x)
x |
integer (order of the matrix) |
This function construct the Hadamard matrix of given order using base sequences. If base sequences of length n+1,n+1,n,n are available, base sequences are converted into T-sequences of length 2n+1,2n+1,2n+1,2n+1 can be constructed. From T-sequence of length 2n+1, Hadamard matrix of order 4(2n+1) can be constructed. For a given order the base sequences is not available it returns NULL.
The Base sequences are stored in internal dataset. The available Base sequences of length is 1,2,3,4,.....,35
Hadamard matrix of order x
The Base sequences were obtained from Christos Koukouvinos
Goethals, J. M. and Seidel, J. J. (1967). Orthogonal matrices with zero diagnol. Canad. J. Math., 19, 259-264.
had_goethals_base(12) # [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] # [1,] 1 1 1 1 1 -1 1 -1 -1 -1 1 -1 # [2,] 1 1 1 1 -1 1 -1 -1 1 1 -1 -1 # [3,] 1 1 1 -1 1 1 -1 1 -1 -1 -1 1 # [4,] -1 -1 1 1 1 1 1 -1 -1 1 -1 1 # [5,] -1 1 -1 1 1 1 -1 -1 1 -1 1 1 # [6,] 1 -1 -1 1 1 1 -1 1 -1 1 1 -1 # [7,] -1 1 1 -1 1 1 1 1 1 1 1 -1 # [8,] 1 1 -1 1 1 -1 1 1 1 1 -1 1 # [9,] 1 -1 1 1 -1 1 1 1 1 -1 1 1 #[10,] 1 -1 1 -1 1 -1 -1 -1 1 1 1 1 #[11,] -1 1 1 1 -1 -1 -1 1 -1 1 1 1 #[12,] 1 1 -1 -1 -1 1 1 -1 -1 1 1 1 had_goethals_base(16) #NULL
had_goethals_base(12) # [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] # [1,] 1 1 1 1 1 -1 1 -1 -1 -1 1 -1 # [2,] 1 1 1 1 -1 1 -1 -1 1 1 -1 -1 # [3,] 1 1 1 -1 1 1 -1 1 -1 -1 -1 1 # [4,] -1 -1 1 1 1 1 1 -1 -1 1 -1 1 # [5,] -1 1 -1 1 1 1 -1 -1 1 -1 1 1 # [6,] 1 -1 -1 1 1 1 -1 1 -1 1 1 -1 # [7,] -1 1 1 -1 1 1 1 1 1 1 1 -1 # [8,] 1 1 -1 1 1 -1 1 1 1 1 -1 1 # [9,] 1 -1 1 1 -1 1 1 1 1 -1 1 1 #[10,] 1 -1 1 -1 1 -1 -1 -1 1 1 1 1 #[11,] -1 1 1 1 -1 -1 -1 1 -1 1 1 1 #[12,] 1 1 -1 -1 -1 1 1 -1 -1 1 1 1 had_goethals_base(16) #NULL
had_goethals_T had_goethals_Turyn performs the Hadamard Matrix from Goethals-Seidel method by using T sequences.
had_goethals_T(n)
had_goethals_T(n)
n |
integer (order of the matrix) |
This function construct Hadamard matrix of given order using T sequences. If T sequences of length n,n,n,n are available, Hadamard matrix of order 4n can be constructed. Returns the Hadamard matrix of given order. If for given order the T sequences are not available returns NULL.
The T sequences are stored in internal dataset. The available T sequences of length is seq(1,73,2) and 83, 101 and 107
Hadamard matrix of order x
The T sequences are available at London (2013) and The Base sequences were obtained from Christos Koukouvinos
Goethals, J. M. and Seidel, J. J. (1967). Orthogonal matrices with zero diagnol. Canad. J. Math., 19, 259-264.
London, S. 2013. Constructing New Turyn Type Sequences, T-Sequences and Hadamard Matrices. PhD Thesis, University of Illinois at Chicago, Chicago.
had_goethals_T(4) # [,1] [,2] [,3] [,4] # [1,] 1 -1 -1 -1 # [2,] 1 1 -1 1 # [3,] 1 1 1 -1 # [4,] 1 -1 1 1 had_goethals_T(8) #NULL
had_goethals_T(4) # [,1] [,2] [,3] [,4] # [1,] 1 -1 -1 -1 # [2,] 1 1 -1 1 # [3,] 1 1 1 -1 # [4,] 1 -1 1 1 had_goethals_T(8) #NULL
had_goethals_Turyn performs the Hadamard Matrix from Goethals-Seidel method by using Turyn sequences.
had_goethals_Turyn(r)
had_goethals_Turyn(r)
r |
integer (order of the matrix) |
This function construct Hadamard matrix of given order using Turyn sequences. If Turyn sequences of length 2n-1, 2n-1, n, n is available then Turyn sequences are converted in T sequences of length 2n+p, 2n+p, 2n+p, 2n+p and p=n-1, these T sequences are used for construction of Hadamard matrix. If the given order of the the Turyn sequences are not available it returns NULL.
Turyn type-sequences are available for 28,30,34,36 in the internal dataset.
Hadamard matrix of order r
The Base sequences were obtained from Christos Koukouvinos
Goethals, J. M. and Seidel, J. J. (1967). Orthogonal matrices with zero diagnol. Canad. J. Math., 19, 259-264.
#Big matrices had_goethals_Turyn(356) had_goethals_Turyn(404)
#Big matrices had_goethals_Turyn(356) had_goethals_Turyn(404)
had_kronecker performs the construction of an Hadamard matrix by kronecker product.
had_kronecker(n, exponent = NULL)
had_kronecker(n, exponent = NULL)
n |
an integer (Expected to be Hadamard Number) |
exponent |
an integer |
This function only applicable when n is the power of 2 and multiple of 4.
If n<-2, returns Hadamard matrix of order 2; if n is not Hadamard number, return NULL.
By default exponent=FALSE; when exponent is unknown it is computed.
If exponent is given use the same
Hadamard Matrix of order n, if n is power of 2, otherwise NULL.
Hedayat, A. and Wallis, W.D. (1978). Hadamard Matrices and Their Application.Ann. Stat., 6, 1184-1238.
Sylvester, J.J. (1968). Problem 2511. Math. Questions and solutions, 10, 74.
had_kronecker(4) # [,1] [,2] [,3] [,4] #[1,] 1 1 1 1 #[2,] 1 -1 1 -1 #[3,] 1 1 -1 -1 #[4,] 1 -1 -1 1 had_kronecker(8,3) # [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] #[1,] 1 1 1 1 1 1 1 1 #[2,] 1 -1 1 -1 1 -1 1 -1 #[3,] 1 1 -1 -1 1 1 -1 -1 #[4,] 1 -1 -1 1 1 -1 -1 1 #[5,] 1 1 1 1 -1 -1 -1 -1 #[6,] 1 -1 1 -1 -1 1 -1 1 #[7,] 1 1 -1 -1 -1 -1 1 1 #[8,] 1 -1 -1 1 -1 1 1 -1 had_kronecker(9) # NULL
had_kronecker(4) # [,1] [,2] [,3] [,4] #[1,] 1 1 1 1 #[2,] 1 -1 1 -1 #[3,] 1 1 -1 -1 #[4,] 1 -1 -1 1 had_kronecker(8,3) # [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] #[1,] 1 1 1 1 1 1 1 1 #[2,] 1 -1 1 -1 1 -1 1 -1 #[3,] 1 1 -1 -1 1 1 -1 -1 #[4,] 1 -1 -1 1 1 -1 -1 1 #[5,] 1 1 1 1 -1 -1 -1 -1 #[6,] 1 -1 1 -1 -1 1 -1 1 #[7,] 1 1 -1 -1 -1 -1 1 1 #[8,] 1 -1 -1 1 -1 1 1 -1 had_kronecker(9) # NULL
Had_method performs the give order of the matrix is constructed by which method.
Had_method(order)
Had_method(order)
order |
integer (order of the Hadamard matrix) |
If the method number retuns, if it
1 kronecker method (power of 2 only)
2 PaleyI
3 PaleyII
4 Ehlich method
5 Williamson method
6 Baumert-Hall method
7 Goethals-Seidel by using Base sequences
8 Goethals-Seidel by using Turyn sequences
9 Miyamoto method
10 Suplimentary Difference Sets
11 Cooper-Wallis method
12 Kronecker product method
13 Goethals-Seidel by using T sequences
14 Paley I Prime Power
15 Paley II Prime Power
Method number
Had_method(92) # "5" Had_method(324) # "4"
Had_method(92) # "5" Had_method(324) # "4"
had_miyamoto function perform the construction of the Hadamard matrix by using the Miyamoto method
had_miyamoto(n)
had_miyamoto(n)
n |
integer (order of the matrix) |
If the q=n/4, and q be a prime power and q=1 (mod 4). If there is a exists of Hadamard matrix of order q-1, then there exists an Hadamard matrix of order 4q. If given order is not satisfied it returns NULL.
Hadamard matrix of n
Miyamoto, M. (1991). A Construction of Hadamard matrices. J. Math. Phy., 12, 311-320.
had_miyamoto(20) had_miyamoto(24) #NULL
had_miyamoto(20) had_miyamoto(24) #NULL
had_SDS performs the construction of Hadamard matrix from SDS.
had_SDS(x)
had_SDS(x)
x |
integer (order of the matrix) |
This function construct the Hadamard matrix of given order can be constructed using Suplementary Diffrence sets. For given order the SDS set is not available it retuns NULL If SDS is available it Returns Hadamard matrix of given order.
SDS are available for 103,127,151,163,181,191,239,251,463,631 in the internal table.
Hadamard matrix of order x
Djokovic, D. Z. (1992a). Skew Hadamard matrices of order 4x37 and 4x39. J. Combin. Theory, A 61, 319-321.
Djokovic, D. Z. (1992b). Construction of some new Hadamard matrices. Bull. Austral. math. Soc., 45, 327-332.
Djokovic, D. Z. (1992c). Ten new Hadamard matrices of skew type. Publ.Electrotechnickog Fak., Ser. Mathematika, Univ. of Belgrade, 3, 47-59.
Djokovic, D. Z. (1992d). Ten Hadamard matrices of order 1852 of Goethals-Seidel type. Europ. J. Combinatorics, 13, 245-248.
Djokovic, D. Z. (1994a). Two Hadamard matrices of order 956 of Goethals-Seidel type. Combinatorica, 14(3), 375-377.
Djokovic, D. Z. (1994b). Five new Hadamard matrices of order skew type. Austral. J. Combinatorics, 10, 259-264.
had_SDS(412) had_SDS(508)
had_SDS(412) had_SDS(508)
had_williamson performs the construction Hadamard matrix from Williamson method by using the williamson sequences.
had_williamson(x)
had_williamson(x)
x |
integer (order of the matrix) |
This function construct Hadamard matrix of given order using williamson sequences. If Williamson sequences of length n,n,n,n are available, Hadamard matrix of order 4n can be constructed. If for given order of Matrix Williamson sequences are not available it retuns NULL.
The Williamson sequences are stored in internal dataset, available for length of seq(1,63, 2) except 15, 35, 47, 53, 59 in the internal table.
Hadamard matrix
The williamson sequences are available in London(2013) and Christos Koukouvinos
Williamson, J. (1944). Hadamard determinant theorem and the sum of four squares. Duke. Math. J., 11, 65-81.
Williamson, J. (1947). Note on Hadamard's determnant theorem. Bull. Amer. Math. Soc., 53, 608-613.
London, S. 2013. Constructing New Turyn Type Sequences, T-Sequences and Hadamard Matrices. PhD Thesis, University of Illinois at Chicago, Chicago.
had_williamson(4) # [,1] [,2] [,3] [,4] #[1,] 1 1 1 1 #[2,] -1 1 -1 1 #[3,] -1 1 1 -1 #[4,] -1 -1 1 1 had_williamson(8) # NULL
had_williamson(4) # [,1] [,2] [,3] [,4] #[1,] 1 1 1 1 #[2,] -1 1 -1 1 #[3,] -1 1 1 -1 #[4,] -1 -1 1 1 had_williamson(8) # NULL
Hadamard_Matrix is generic function for construction of Hadamard matrix.
Hadamard_Matrix(order)
Hadamard_Matrix(order)
order |
integer |
function Hadamard_matrix was created which does not require known of construction methods. Hadamard_matrix() takes an integer as input and returns Hadamard matrix if it is available. In case, it is not possible to construct, NULL value is returned.
Hadamard Matrix of given Order
Hadamard_Matrix(1) #1 Hadamard_Matrix(2) # [,1] [,2] # [1,] 1 1 # [2,] 1 -1 Hadamard_Matrix(8) # [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] # [1,] 1 1 1 1 1 1 1 1 # [2,] 1 -1 1 -1 1 -1 1 -1 # [3,] 1 1 -1 -1 1 1 -1 -1 # [4,] 1 -1 -1 1 1 -1 -1 1 # [5,] 1 1 1 1 -1 -1 -1 -1 # [6,] 1 -1 1 -1 -1 1 -1 1 # [7,] 1 1 -1 -1 -1 -1 1 1 # [8,] 1 -1 -1 1 -1 1 1 -1 Hadamard_Matrix(10) #"Order is not a Hadamard number" Hadamard_Matrix(668) #"Not possible to construct or order is not a multiple of 4"
Hadamard_Matrix(1) #1 Hadamard_Matrix(2) # [,1] [,2] # [1,] 1 1 # [2,] 1 -1 Hadamard_Matrix(8) # [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] # [1,] 1 1 1 1 1 1 1 1 # [2,] 1 -1 1 -1 1 -1 1 -1 # [3,] 1 1 -1 -1 1 1 -1 -1 # [4,] 1 -1 -1 1 1 -1 -1 1 # [5,] 1 1 1 1 -1 -1 -1 -1 # [6,] 1 -1 1 -1 -1 1 -1 1 # [7,] 1 1 -1 -1 -1 -1 1 1 # [8,] 1 -1 -1 1 -1 1 1 -1 Hadamard_Matrix(10) #"Order is not a Hadamard number" Hadamard_Matrix(668) #"Not possible to construct or order is not a multiple of 4"
Hadamard_Matrix_method it is also generic function but it provides some additional options.
Hadamard_matrix_method(order, type = -1, method = "", file = "", filetype = "")
Hadamard_matrix_method(order, type = -1, method = "", file = "", filetype = "")
order |
integer |
type |
-1 or 0 |
method |
method=c("Kronecker", "PaleyI","PaleyII","Ehlich","Williamson","Baumert","Goethals-Seidel_Base", "Goethals-Seidel_Turyn","Miyamoto","Cooper-Wallis","Kronecker_Product_Method","PaleyIPrimepower","PaleyIIPrimePower") |
file |
Name of the file |
filetype |
xlsx or csv |
If the method is not specified or incorrectly specified, Hadamard matrix will be constructed using Had_method function. If the method is specified, Hadamard matrix will be constructed using that method.
By default, the elements will be +1 or -1. Incase, -1 should be replaced by 0, use type=0.
TO save the generated matrix into a text file (csv) or MS-Excel, filename may be specified (with extension). In case Excel file required, use filetype = xlsx, otherwise csv file will be generated.
If just give the input as number it returns Hadamard matrix in console.
Hadamard Matrix of given Order
Hadamard_matrix_method(4) # [,1] [,2] [,3] [,4] #[1,] 1 1 1 1 #[2,] 1 -1 1 -1 #[3,] 1 1 -1 -1 #[4,] 1 -1 -1 1 Hadamard_matrix_method(8,method = "PaleyI") # [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] # [1,] 1 1 1 1 1 1 1 1 # [2,] -1 1 -1 -1 1 -1 1 1 # [3,] -1 1 1 -1 -1 1 -1 1 # [4,] -1 1 1 1 -1 -1 1 -1 # [5,] -1 -1 1 1 1 -1 -1 1 # [6,] -1 1 -1 1 1 1 -1 -1 # [7,] -1 -1 1 -1 1 1 1 -1 # [8,] -1 -1 -1 1 -1 1 1 1 Hadamard_matrix_method(12,method = "Williamson", file = file.path(tempdir(), "Hadamard12.csv")) #output saved in file Hadamard_matrix_method(36,method = "Baumert", file = file.path(tempdir(),"Hadamard36.xlsx")) #output saved in file Hadamard_matrix_method(20,method = "Miyamoto", file = file.path(tempdir(),"Hadamard20.csv"),filetype = "csv") #output saved in file Hadamard_matrix_method(8,method = "Kronecker",file = file.path(tempdir(),"Hadamard8.xlsx"), filetype = "xlsx") #output saved in file
Hadamard_matrix_method(4) # [,1] [,2] [,3] [,4] #[1,] 1 1 1 1 #[2,] 1 -1 1 -1 #[3,] 1 1 -1 -1 #[4,] 1 -1 -1 1 Hadamard_matrix_method(8,method = "PaleyI") # [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] # [1,] 1 1 1 1 1 1 1 1 # [2,] -1 1 -1 -1 1 -1 1 1 # [3,] -1 1 1 -1 -1 1 -1 1 # [4,] -1 1 1 1 -1 -1 1 -1 # [5,] -1 -1 1 1 1 -1 -1 1 # [6,] -1 1 -1 1 1 1 -1 -1 # [7,] -1 -1 1 -1 1 1 1 -1 # [8,] -1 -1 -1 1 -1 1 1 1 Hadamard_matrix_method(12,method = "Williamson", file = file.path(tempdir(), "Hadamard12.csv")) #output saved in file Hadamard_matrix_method(36,method = "Baumert", file = file.path(tempdir(),"Hadamard36.xlsx")) #output saved in file Hadamard_matrix_method(20,method = "Miyamoto", file = file.path(tempdir(),"Hadamard20.csv"),filetype = "csv") #output saved in file Hadamard_matrix_method(8,method = "Kronecker",file = file.path(tempdir(),"Hadamard8.xlsx"), filetype = "xlsx") #output saved in file
Initial_row_SDS Initial_row_SDS is an internal function.Not Exported.
Initial_row_SDS(i, j, v, n, r)
Initial_row_SDS(i, j, v, n, r)
i |
is the numeric vectors |
j |
is the numeric vectors |
v |
is the numeric vectors |
n |
is the numeric vectors |
r |
is the numeric vectors |
All inputs are numeric vectors of same length. This function used in the COnstruction of Hadamard matrix by Supplementary Differences Sets It converts the SDS sets into binary forms (+1 or -1).
Intial rows of Matrix.
Djokovic, D. Z. (1992a). Skew Hadamard matrices of order 4x37 and 4x39. J. Combin. Theory, A 61, 319-321.
Djokovic, D. Z. (1992b). Construction of some new Hadamard matrices. Bull. Austral. math. Soc., 45, 327-332.
Djokovic, D. Z. (1992c). Ten new Hadamard matrices of skew type. Publ.Electrotechnickog Fak., Ser. Mathematika, Univ. of Belgrade, 3, 47-59.
Djokovic, D. Z. (1992d). Ten Hadamard matrices of order 1852 of Goethals-Seidel type. Europ. J. Combinatorics, 13, 245-248.
Djokovic, D. Z. (1994a). Two Hadamard matrices of order 956 of Goethals-Seidel type. Combinatorica, 14(3), 375-377.
Djokovic, D. Z. (1994b). Five new Hadamard matrices of order skew type. Austral. J. Combinatorics, 10, 259-264.
is_divisible is internal function. Not exported.
is_divisible(num, divisor)
is_divisible(num, divisor)
num |
integer |
divisor |
integer |
it returns num/divisor value.
num/divisor
is.prime check the given number is prime or not
is.prime(num)
is.prime(num)
num |
integer |
if the given number is divisible any number other than 1 and itself it return NULL. otherwise TRUE.
TRUE or FALSE
is.prime(3) #TRUE is.prime(21) #FALSE
is.prime(3) #TRUE is.prime(21) #FALSE
Checks whether given number is a prime power or not. Note that for a prime number, it would return NULL.
is.primepower(p)
is.primepower(p)
p |
integer |
Returns a and b where p=a^b, otherwise NULL. Uses primeFactors() function of numbers package.
a and b where p=a^b and a is a prime number. Otherwise NULL
is.primepower(2048) #2 11 is.primepower(7) #NULL is.primepower(100) #NULL
is.primepower(2048) #2 11 is.primepower(7) #NULL is.primepower(100) #NULL
Jmat peforms the generation of unit matrix.
Jmat(n)
Jmat(n)
n |
integer |
An J matrix is a square matrix where all the entries are one.
square matrix of order n
Jmat(4) # [,1] [,2] [,3] [,4] #[1,] 1 1 1 1 #[2,] 1 1 1 1 #[3,] 1 1 1 1 #[4,] 1 1 1 1
Jmat(4) # [,1] [,2] [,3] [,4] #[1,] 1 1 1 1 #[2,] 1 1 1 1 #[3,] 1 1 1 1 #[4,] 1 1 1 1
kro_method internal function. Not exported.
kro_method(r)
kro_method(r)
r |
integer (order of the matrix) |
r/2 or NULL.
Sylvester, J.J. (1967). Thoughts on orthogonal matrices, simultaneous sign-succession and Tessellated pavements in two or more colours, with applications to Newton's rule, ornamental Tie-work, and the theory of numbers. Phil. Mag.,34, 461-475.
Sylvester, J.J. (1968). Problem 2511. Math. Questions and solutions, 10, 74.
Hedayat, A. and Wallis, W.D. (1978). Hadamard Matrices and Their Application.Ann. Stat., 6, 1184-1238.
kronecker_matrix
kronecker_matrix(n)
kronecker_matrix(n)
n |
integer (order of the matrix) |
This function construct Hadamard matrix by multiple of 2 Hadamard matrix. It Returns the Hadamard Matrix, if it is not possible NULL is returned.
Hadamard matrix of order "n"
Sylvester, J.J. (1967). Thoughts on orthogonal matrices, simultaneous sign-succession and Tessellated pavements in two or more colours, with applications to Newton's rule, ornamental Tie-work, and the theory of numbers. Phil. Mag.,34, 461-475.
Sylvester, J.J. (1968). Problem 2511. Math. Questions and solutions, 10, 74.
Hedayat, A. and Wallis, W.D. (1978). Hadamard Matrices and Their Application.Ann. Stat., 6, 1184-1238.
kronecker_matrix(8) # [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] #[1,] 1 1 1 1 1 1 1 1 #[2,] 1 -1 1 -1 1 -1 1 -1 #[3,] 1 1 -1 -1 1 1 -1 -1 #[4,] 1 -1 -1 1 1 -1 -1 1 #[5,] 1 1 1 1 -1 -1 -1 -1 #[6,] 1 -1 1 -1 -1 1 -1 1 #[7,] 1 1 -1 -1 -1 -1 1 1 #[8,] 1 -1 -1 1 -1 1 1 -1 kronecker_matrix(12) #NULL
kronecker_matrix(8) # [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] #[1,] 1 1 1 1 1 1 1 1 #[2,] 1 -1 1 -1 1 -1 1 -1 #[3,] 1 1 -1 -1 1 1 -1 -1 #[4,] 1 -1 -1 1 1 -1 -1 1 #[5,] 1 1 1 1 -1 -1 -1 -1 #[6,] 1 -1 1 -1 -1 1 -1 1 #[7,] 1 1 -1 -1 -1 -1 1 1 #[8,] 1 -1 -1 1 -1 1 1 -1 kronecker_matrix(12) #NULL
method1_paleyII is internal function not exported.
method1_paleyII(n)
method1_paleyII(n)
n |
integer |
this function checks q<- (n/2)-1, q is prime number and q = 1(mod 4). if it satisfy it returns q; otherwise returns NULL.
0 or (n/2)-1
Paley, R.E.A.C. (1933). On Orthogonal matrices. J. Combin. Theory, A 57(1), 86-108.
method2_paleyII is internal function not exported.
method2_paleyII(n)
method2_paleyII(n)
n |
integer (order of the matrix) |
this function checks q<- (n/4)-1, q is prime number and q = 1(mod 4). if it satisfy it returns q; otherwise returns NULL.
0 or (n/4)-1
Paley, R.E.A.C. (1933). On Orthogonal matrices. J. Combin. Theory, A 57(1), 86-108.
miyamotoC
miyamotoC(n)
miyamotoC(n)
n |
integer (order of the matrix) |
q matrix
Miyamoto, M. (1991). A Construction of Hadamard matrices. J. Math. Phy., 12, 311-320.
miyamotoC(20) # [,1] [,2] [,3] [,4] [,5] #[1,] 0 1 1 -1 -1 #[2,] 1 0 -1 -1 1 #[3,] 1 -1 0 1 -1 #[4,] -1 -1 1 0 1 #[5,] -1 1 -1 1 0
miyamotoC(20) # [,1] [,2] [,3] [,4] [,5] #[1,] 0 1 1 -1 -1 #[2,] 1 0 -1 -1 1 #[3,] 1 -1 0 1 -1 #[4,] -1 -1 1 0 1 #[5,] -1 1 -1 1 0
nextElem Generate next element of GF.
nextElem(p1, MF, p, r)
nextElem(p1, MF, p, r)
p1 |
integer |
MF |
integer |
p |
integer |
r |
integer |
A vector of order r, the coefficients of elements.
Normcol Normcol performs the Normalisation of column the given matrix.
Normcol(m)
Normcol(m)
m |
Matrix |
For the given matrix of the first column of the all the -1 elements converting +1 without alter the property of the matrix.
Normalised matrix
PaleyI(8) # [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] #[1,] 1 1 1 1 1 1 1 1 #[2,] -1 1 -1 -1 1 -1 1 1 #[3,] -1 1 1 -1 -1 1 -1 1 #[4,] -1 1 1 1 -1 -1 1 -1 #[5,] -1 -1 1 1 1 -1 -1 1 #[6,] -1 1 -1 1 1 1 -1 -1 #[7,] -1 -1 1 -1 1 1 1 -1 #[8,] -1 -1 -1 1 -1 1 1 1 Normcol(PaleyI(8)) # [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] #[1,] 1 1 1 1 1 1 1 1 #[2,] 1 -1 1 1 -1 1 -1 -1 #[3,] 1 -1 -1 1 1 -1 1 -1 #[4,] 1 -1 -1 -1 1 1 -1 1 #[5,] 1 1 -1 -1 -1 1 1 -1 #[6,] 1 -1 1 -1 -1 -1 1 1 #[7,] 1 1 -1 1 -1 -1 -1 1 #[8,] 1 1 1 -1 1 -1 -1 -1
PaleyI(8) # [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] #[1,] 1 1 1 1 1 1 1 1 #[2,] -1 1 -1 -1 1 -1 1 1 #[3,] -1 1 1 -1 -1 1 -1 1 #[4,] -1 1 1 1 -1 -1 1 -1 #[5,] -1 -1 1 1 1 -1 -1 1 #[6,] -1 1 -1 1 1 1 -1 -1 #[7,] -1 -1 1 -1 1 1 1 -1 #[8,] -1 -1 -1 1 -1 1 1 1 Normcol(PaleyI(8)) # [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] #[1,] 1 1 1 1 1 1 1 1 #[2,] 1 -1 1 1 -1 1 -1 -1 #[3,] 1 -1 -1 1 1 -1 1 -1 #[4,] 1 -1 -1 -1 1 1 -1 1 #[5,] 1 1 -1 -1 -1 1 1 -1 #[6,] 1 -1 1 -1 -1 -1 1 1 #[7,] 1 1 -1 1 -1 -1 -1 1 #[8,] 1 1 1 -1 1 -1 -1 -1
Normrow Normcol performs the Normalisation of row the given matrix.
Normrow(m)
Normrow(m)
m |
Matrix |
For the given matrix of the first row of the all the -1 elements converting +1 without alter the property of the matrix.
Normalised matrix
PaleyII(12) # [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] # [1,] 1 1 1 1 1 1 1 -1 -1 -1 -1 -1 # [2,] 1 1 1 -1 -1 1 -1 1 -1 1 1 -1 # [3,] 1 1 1 1 -1 -1 -1 -1 1 -1 1 1 # [4,] 1 -1 1 1 1 -1 -1 1 -1 1 -1 1 # [5,] 1 -1 -1 1 1 1 -1 1 1 -1 1 -1 # [6,] 1 1 -1 -1 1 1 -1 -1 1 1 -1 1 # [7,] 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 # [8,] -1 1 -1 1 1 -1 -1 -1 -1 1 1 -1 # [9,] -1 -1 1 -1 1 1 -1 -1 -1 -1 1 1 #[10,] -1 1 -1 1 -1 1 -1 1 -1 -1 -1 1 #[11,] -1 1 1 -1 1 -1 -1 1 1 -1 -1 -1 #[12,] -1 -1 1 1 -1 1 -1 -1 1 1 -1 -1 Normrow(PaleyII(12)) # [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] # [1,] 1 1 1 1 1 1 1 1 1 1 1 1 # [2,] 1 1 1 -1 -1 1 -1 -1 1 -1 -1 1 # [3,] 1 1 1 1 -1 -1 -1 1 -1 1 -1 -1 # [4,] 1 -1 1 1 1 -1 -1 -1 1 -1 1 -1 # [5,] 1 -1 -1 1 1 1 -1 -1 -1 1 -1 1 # [6,] 1 1 -1 -1 1 1 -1 1 -1 -1 1 -1 # [7,] 1 -1 -1 -1 -1 -1 -1 1 1 1 1 1 # [8,] -1 1 -1 1 1 -1 -1 1 1 -1 -1 1 # [9,] -1 -1 1 -1 1 1 -1 1 1 1 -1 -1 #[10,] -1 1 -1 1 -1 1 -1 -1 1 1 1 -1 #[11,] -1 1 1 -1 1 -1 -1 -1 -1 1 1 1 #[12,] -1 -1 1 1 -1 1 -1 1 -1 -1 1 1
PaleyII(12) # [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] # [1,] 1 1 1 1 1 1 1 -1 -1 -1 -1 -1 # [2,] 1 1 1 -1 -1 1 -1 1 -1 1 1 -1 # [3,] 1 1 1 1 -1 -1 -1 -1 1 -1 1 1 # [4,] 1 -1 1 1 1 -1 -1 1 -1 1 -1 1 # [5,] 1 -1 -1 1 1 1 -1 1 1 -1 1 -1 # [6,] 1 1 -1 -1 1 1 -1 -1 1 1 -1 1 # [7,] 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 # [8,] -1 1 -1 1 1 -1 -1 -1 -1 1 1 -1 # [9,] -1 -1 1 -1 1 1 -1 -1 -1 -1 1 1 #[10,] -1 1 -1 1 -1 1 -1 1 -1 -1 -1 1 #[11,] -1 1 1 -1 1 -1 -1 1 1 -1 -1 -1 #[12,] -1 -1 1 1 -1 1 -1 -1 1 1 -1 -1 Normrow(PaleyII(12)) # [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] # [1,] 1 1 1 1 1 1 1 1 1 1 1 1 # [2,] 1 1 1 -1 -1 1 -1 -1 1 -1 -1 1 # [3,] 1 1 1 1 -1 -1 -1 1 -1 1 -1 -1 # [4,] 1 -1 1 1 1 -1 -1 -1 1 -1 1 -1 # [5,] 1 -1 -1 1 1 1 -1 -1 -1 1 -1 1 # [6,] 1 1 -1 -1 1 1 -1 1 -1 -1 1 -1 # [7,] 1 -1 -1 -1 -1 -1 -1 1 1 1 1 1 # [8,] -1 1 -1 1 1 -1 -1 1 1 -1 -1 1 # [9,] -1 -1 1 -1 1 1 -1 1 1 1 -1 -1 #[10,] -1 1 -1 1 -1 1 -1 -1 1 1 1 -1 #[11,] -1 1 1 -1 1 -1 -1 -1 -1 1 1 1 #[12,] -1 -1 1 1 -1 1 -1 1 -1 -1 1 1
This function performs constructing the Hadamard matrix by Paley method.
PaleyI(n)
PaleyI(n)
n |
integer (order of the matrix) |
let q = n-1 , and q = 3 (mod 4), q is the prime number, then obtained the Hadamard matrix of order q+1.if input satisfies these condition it retuns Hadamard Matrix; otherwise returns NULL.
hadamard matrix of n
Paley, R.E.A.C. (1933). On Orthogonal matrices. J. Combin. Theory, A 57(1), 86-108.
PaleyI(8) #' PaleyI(8) # [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] #[1,] 1 1 1 1 1 1 1 1 #[2,] -1 1 -1 -1 1 -1 1 1 #[3,] -1 1 1 -1 -1 1 -1 1 #[4,] -1 1 1 1 -1 -1 1 -1 #[5,] -1 -1 1 1 1 -1 -1 1 #[6,] -1 1 -1 1 1 1 -1 -1 #[7,] -1 -1 1 -1 1 1 1 -1 #[8,] -1 -1 -1 1 -1 1 1 1 PaleyI(16) #NULL
PaleyI(8) #' PaleyI(8) # [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] #[1,] 1 1 1 1 1 1 1 1 #[2,] -1 1 -1 -1 1 -1 1 1 #[3,] -1 1 1 -1 -1 1 -1 1 #[4,] -1 1 1 1 -1 -1 1 -1 #[5,] -1 -1 1 1 1 -1 -1 1 #[6,] -1 1 -1 1 1 1 -1 -1 #[7,] -1 -1 1 -1 1 1 1 -1 #[8,] -1 -1 -1 1 -1 1 1 1 PaleyI(16) #NULL
This function create the Hadamard matrix by Paley method 2
PaleyII(n)
PaleyII(n)
n |
integer(order of the matrix) |
q=n/2-1, If there is an Hadamard matrix of order h>1, and q = 1 (mod 4) is a prime number, then there exists an Hadamard matrix of order nh.
Hadamard matrix of order n
Paley, R.E.A.C. (1933). On Orthogonal matrices. J. Combin. Theory, A 57(1), 86-108.
PaleyII(12) # [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] # [1,] 1 1 1 1 1 1 1 -1 -1 -1 -1 -1 # [2,] 1 1 1 -1 -1 1 -1 1 -1 1 1 -1 # [3,] 1 1 1 1 -1 -1 -1 -1 1 -1 1 1 # [4,] 1 -1 1 1 1 -1 -1 1 -1 1 -1 1 # [5,] 1 -1 -1 1 1 1 -1 1 1 -1 1 -1 # [6,] 1 1 -1 -1 1 1 -1 -1 1 1 -1 1 # [7,] 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 # [8,] -1 1 -1 1 1 -1 -1 -1 -1 1 1 -1 # [9,] -1 -1 1 -1 1 1 -1 -1 -1 -1 1 1 #[10,] -1 1 -1 1 -1 1 -1 1 -1 -1 -1 1 #[11,] -1 1 1 -1 1 -1 -1 1 1 -1 -1 -1 #[12,] -1 -1 1 1 -1 1 -1 -1 1 1 -1 -1 PaleyII(8) #NULL
PaleyII(12) # [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] # [1,] 1 1 1 1 1 1 1 -1 -1 -1 -1 -1 # [2,] 1 1 1 -1 -1 1 -1 1 -1 1 1 -1 # [3,] 1 1 1 1 -1 -1 -1 -1 1 -1 1 1 # [4,] 1 -1 1 1 1 -1 -1 1 -1 1 -1 1 # [5,] 1 -1 -1 1 1 1 -1 1 1 -1 1 -1 # [6,] 1 1 -1 -1 1 1 -1 -1 1 1 -1 1 # [7,] 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 # [8,] -1 1 -1 1 1 -1 -1 -1 -1 1 1 -1 # [9,] -1 -1 1 -1 1 1 -1 -1 -1 -1 1 1 #[10,] -1 1 -1 1 -1 1 -1 1 -1 -1 -1 1 #[11,] -1 1 1 -1 1 -1 -1 1 1 -1 -1 -1 #[12,] -1 -1 1 1 -1 1 -1 -1 1 1 -1 -1 PaleyII(8) #NULL
PaleyIIPrimePower
PaleyIIPrimePower(order)
PaleyIIPrimePower(order)
order |
integer |
q=n/2-1, If there is an Hadamard matrix of order h>1, and q = 1 (mod 4) is a prime power, then there exists an Hadamard matrix of order nh.
Hadamard matrix of the given order.
Paley, R.E.A.C. (1933). On Orthogonal matrices. J. Combin. Theory, A 57(1), 86-108.
PaleyIIPrimePower(20) PaleyIIPrimePower(24)
PaleyIIPrimePower(20) PaleyIIPrimePower(24)
PaleyIPrimePower
PaleyIPrimePower(n)
PaleyIPrimePower(n)
n |
integer |
let q = n-1 , and q = 3 (mod 4), q is the prime power, then obtained the Hadamard matrix of order q+1.if input satisfies these condition it retuns Hadamard Matrix; otherwise returns NULL.
Hadamard matrix
Paley, R.E.A.C. (1933). On Orthogonal matrices. J. Combin. Theory, A 57(1), 86-108.
PaleyIPrimePower(28) PaleyIPrimePower(28) #NULL
PaleyIPrimePower(28) PaleyIPrimePower(28) #NULL
ply1 -internal function; not exported.
ply1(q)
ply1(q)
q |
integer |
Hadamard matrix of order 2(q+1)
Paley, R.E.A.C. (1933). On Orthogonal matrices. J. Combin. Theory, A 57(1), 86-108.
ply2 is internal function and not exported
ply2(q)
ply2(q)
q |
integer |
Hadamard matrix of order 4(q+1)
Paley, R.E.A.C. (1933). On Orthogonal matrices. J. Combin. Theory, A 57(1), 86-108.
pow functions finds the exponent of 2.
pow(n)
pow(n)
n |
integer |
This function checks the given number is the power of 2 or not If the given number is power of 2 it returns the exponent value; otherwise NULL is returned.
power of 2
pow(4) # 2 pow(5) #NULL pow(6) #NULL
pow(4) # 2 pow(5) #NULL pow(6) #NULL
qhad2 creats the Quadratic residues of the prime number.
qhad2(p)
qhad2(p)
p |
is the integer |
The given input is prime number it retuns the matrix of order p. if the input is not prime number it returns NULL.
matrix of order p
qhad2(7) # [,1] [,2] [,3] [,4] [,5] [,6] [,7] #[1,] 0 -1 -1 1 -1 1 1 #[2,] 1 0 -1 -1 1 -1 1 #[3,] 1 1 0 -1 -1 1 -1 #[4,] -1 1 1 0 -1 -1 1 #[5,] 1 -1 1 1 0 -1 -1 #[6,] -1 1 -1 1 1 0 -1 #[7,] -1 -1 1 -1 1 1 0
qhad2(7) # [,1] [,2] [,3] [,4] [,5] [,6] [,7] #[1,] 0 -1 -1 1 -1 1 1 #[2,] 1 0 -1 -1 1 -1 1 #[3,] 1 1 0 -1 -1 1 -1 #[4,] -1 1 1 0 -1 -1 1 #[5,] 1 -1 1 1 0 -1 -1 #[6,] -1 1 -1 1 1 0 -1 #[7,] -1 -1 1 -1 1 1 0
QPrimePower QPrimePower creats the Quadratic residues of the prime number.
QPrimePower(cardin)
QPrimePower(cardin)
cardin |
integer |
The given input is prime power it retuns the matrix of order cardin. if the input is not prime number then it returns NULL.
matrix of cardin x cardin
QPrimePower(9) # [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] #[1,] 0 1 -1 1 -1 1 -1 1 -1 #[2,] 1 0 1 -1 1 1 -1 -1 -1 #[3,] -1 1 0 -1 1 -1 -1 1 1 #[4,] 1 -1 -1 0 1 -1 1 1 -1 #[5,] -1 1 1 1 0 -1 1 -1 -1 #[6,] 1 1 -1 -1 -1 0 1 -1 1 #[7,] -1 -1 -1 1 1 1 0 -1 1 #[8,] 1 -1 1 1 -1 -1 -1 0 1 #[9,] -1 -1 1 -1 -1 1 1 1 0 QPrimePower(36) #NULL
QPrimePower(9) # [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] #[1,] 0 1 -1 1 -1 1 -1 1 -1 #[2,] 1 0 1 -1 1 1 -1 -1 -1 #[3,] -1 1 0 -1 1 -1 -1 1 1 #[4,] 1 -1 -1 0 1 -1 1 1 -1 #[5,] -1 1 1 1 0 -1 1 -1 -1 #[6,] 1 1 -1 -1 -1 0 1 -1 1 #[7,] -1 -1 -1 1 1 1 0 -1 1 #[8,] 1 -1 1 1 -1 -1 -1 0 1 #[9,] -1 -1 1 -1 -1 1 1 1 0 QPrimePower(36) #NULL
quadprime is a internal function not exported.
quadprime(p)
quadprime(p)
p |
integer |
this function obtain Quadratic residues of GF. It returns squares of odd elements of GF
squres
seq_williamson performs the selection of Williamson sequences from dataset
seq_williamson(order)
seq_williamson(order)
order |
integer |
Create williamson sequences of given order from the internal dataset williamson_sequences
Williamson sequences are available for length of seq(1,63, 2) except 15, 35, 47, 53, 59 in the internal table.
Required Williamson sequences of order
The Base sequences are obtained The Base sequences were obtained from Christos Koukouvinos and London (2013).
Williamson, J. (1944). Hadamard determinant theorem and the sum of four squares. Duke. Math. J., 11, 65-81.
Williamson, J. (1947). Note on Hadamard's determnant theorem. Bull. Amer. Math. Soc., 53, 608-613.
London, S. 2013. Constructing New Turyn Type Sequences, T-Sequences and Hadamard Matrices. PhD Thesis, University of Illinois at Chicago, Chicago.
had_williamson
for Williamson construction method using Williamson sequences.
T_seq T_seq performs the selection of the T sequences from dataset.internal function not exported.
T_seq(order)
T_seq(order)
order |
integer |
Create T sequences of given order from the internal dataset T_sequences
T-sequences are available for length of seq(1,73,2) and 83, 101 and 107 in the internal table.
Required Turyn sequences of order of x
The Turyn sequences were obtained from Christos Koukouvinos.
Goethals, J. M. and Seidel, J. J. (1967). Orthogonal matrices with zero diagnol. Canad. J. Math., 19, 259-264.
had_goethals_T
for Goethals-Seidel construction method using T-sequences.
Turyn_seq Turyn_seq performs the selection of the Turyn sequences from dataset. It is internal function not exported.
Turyn_seq(order)
Turyn_seq(order)
order |
integer |
Create Turyn sequences of given order from the internal dataset T_sequences
Turyn type-sequences are available for 28,30,34,36 in the internal table.
Required Turyn sequences of order of x
Goethals, J. M. and Seidel, J. J. (1967). Orthogonal matrices with zero diagnol. Canad. J. Math., 19, 259-264.
had_goethals_Turyn
for Goethals-Seidel construction method using Turyn sequences.
#'
Turyn_to_T internal function. converts Turyn sequences to Base Sequences.
Turyn_to_T(dat1, order)
Turyn_to_T(dat1, order)
dat1 |
is the Turyn sequences subset exported from Tseq |
order |
integer (order of the matrix) |
dat - Internal dataset containing 4 sequences in long form with lentgh 2n-1, 2n-1, n, n. Using the 4 Turyn sequences, the function creates 4 sequences of length n+p, n+p, n, n. Base Sequnces are usually used in creating matrices of Goethel Seidal array.
Turyn type-sequences are available for 28,30,34,36 in the internal table.
Basesequences of length of order
Goethals, J. M. and Seidel, J. J. (1967). Orthogonal matrices with zero diagnol. Canad. J. Math., 19, 259-264.
had_goethals_Turyn
for Goethals-Seidel construction method using Turyn sequences.