아다마르 행렬

testwiki
둘러보기로 이동 검색으로 이동

틀:위키데이터 속성 추적 선형대수학에서 아다마르 행렬(또는 하다마드 행렬, Hadamard行列, 틀:Llang)은 모든 성분이 ±1이며, 행벡터들과 열벡터들이 각각 서로 직교하는 정사각 행렬이다.[1][2][3]

정의

실수 성분 n×n 정사각 행렬 MMat(n,n;)에 대하여 다음 조건들이 서로 동치이며, 이를 만족시키는 M아다마르 행렬이라고 한다.

  • 모든 성분이 ±1이며, M/n직교 행렬이다.
  • 모든 성분이 ±1이며, 모든 행벡터가 서로 직교한다. 즉, 임의의 i,i{1,,n}에 대하여 j=1nMijMij=nδij이다. 즉, MM=n1n×n이다.
  • 모든 성분이 ±1이며, 모든 열벡터가 서로 직교한다. 즉, 임의의 j,j{1,,n}에 대하여 i=1nMijMij=nδjj이다. 즉, MM=n1n×n이다.
  • 모든 성분이 절댓값 1 이하의 실수이며, detM=±nn/2이다.

여기서 δ크로네커 델타이다.

아다마르 설계

첫째 행과 첫째 열이 모두 +1만으로 구성된 아다마르 행렬을 표준형 아다마르 행렬(標準型Hadamard行列, 틀:Llang)이라고 한다. 모든 아다마르 행렬은 행 및 열의 순열 및 −1을 곱하는 것을 통해 표준형으로 만들 수 있다.

n×n 표준형 아다마르 행렬 Mn×n이 주어졌을 때,

  1. 첫째 행과 첫째 열을 제거하고,
  2. 성분을 (+1,1)(+1,0)으로 치환하자.

그렇다면, 성분이 0 또는 1인 (n1)×(n1) 정사각 행렬을 얻는다.

만약 n이 4의 배수일 경우, 이 (n1)×(n1) 행렬은 (t=2,n/21,n1)-블록 설계의 결합 행렬을 이루며,

λ0=n1
λ1=n/21
λ2=n/41

이다. 즉,

  • n1개의 블록이 있으며,
  • 모든 점은 n/21개의 블록에 속하며,
  • 서로 다른 임의의 두 점은 n/41개의 블록에 공통적으로 속한다.

이를 아다마르 설계(Hadamard設計, 틀:Llang)라고 한다.

반대로, λ0=n1(2,n/2,n1)-블록 설계가 주어졌을 때, 위와 같이 표준형 아다마르 행렬을 재구성할 수 있다.

성질

존재

임의의 자연수 n에 대하여, n×n 아다마르 행렬이 존재할 필요 조건은 다음과 같다.

n{1,2}이거나, 또는 n은 4의 배수이다.

이 조건이 필요 충분 조건이라는 추측은 아다마르 추측(Hadamard推測, 틀:Llang)이라고 하며, 아직 증명되거나 반증되지 못했다. 다만, 적어도 n<668에 대해서는 위 조건이 필요 충분 조건이다.

n×n 아다마르 행렬이 존재하기 위한 알려진 충분 조건은 다음이 있다.

  • n은 다음과 같은 꼴의 양의 정수들의 곱이다.
    • 2
    • q+1, q3(mod4), q소수의 거듭제곱
    • 2(q+1), q1(mod4), q소수의 거듭제곱

행렬식

행렬 공간 𝒳n={MMat(n,n;):|Mij|1i,j}을 정의하자. 그렇다면, 아다마르 부등식(틀:Llang)에 따르면,

M𝒳n:|detM|nn/2

이다.

n×n 아다마르 행렬의 행렬식±nn/2이다. 즉, 만약 n×n 아다마르 행렬이 존재한다면, 이는 𝒳n 위에서 행렬식 절댓값 함수 M|detM|를 최대화한다.

정칙 아다마르 행렬

n×n 아다마르 행렬 H초과량(超過量, 틀:Llang)은 그 모든 성분들의 합이다.

E(H)=i,jHi,j

이는 다음과 같은 상계를 갖는다.

|E(H)|n3/2

n×n 아다마르 행렬 H에 대하여 다음 두 조건이 서로 동치이며, 이를 만족시키는 아다마르 행렬을 정칙 아다마르 행렬(틀:Llang)이라고 한다.

  • E(H)=n3/2
  • 각 행의 합과 각 열의 합이 각각 일정하다. 즉, 임의의 i,i{1,2,,n}에 대하여, j=1n(Mi,jMi,j)=j=1n(Mj,iMj,i)=0이다.

정칙 아다마르 행렬의 크기는 항상 제곱수이다. 즉, 1×1 또는 4m2×4m2의 꼴이다.

연산

만약 H가 아다마르 행렬이라면, H 역시 아다마르 행렬이다. 보다 일반적으로, 아다마르 행렬에 다음 연산을 가해도 아다마르 행렬을 이룬다.

  • 임의의 한 열에 −1을 곱하기
  • 임의의 한 행에 −1을 곱하기
  • 열의 순서를 뒤바꾸기
  • 행의 순서를 뒤바꾸기

실베스터 구성

임의의 두 아다마르 행렬

Hm×mMat(m,m;)
Hn×nMat(n,n;)

이 주어졌을 때, 그 크로네커 곱

Hm×mHn×n=Hmn×mn

은 역시 아다마르 행렬이다. 특히,

H2×2=(1111)

를 사용하여, 크기 2k의 아다마르 행렬들을 구성할 수 있다. 이를 실베스터 구성(틀:Llang)이라고 한다.

이에 따라,

H1×1=(1)

로부터 시작하여 2k×2k 크기의 아다마르 행렬들을 구성할 수 있다.

페일리 구성

페일리 구성(틀:Llang)은 유한체를 사용하여 아다마르 행렬을 구성하는 방법이다.

q가 홀수 소수의 거듭제곱이라고 하자. 이제, 함수

χ:𝔽q{1,0,1}
χ:a{0a=01a{a2:a𝔽q×}1a∉{a2:a𝔽q}

를 정의하자. (여기서 𝔽q유한체이다.)

이제, 임의의 전단사 함수

{1,2,,q}𝔽q
iai

를 고르자. 그렇다면, q×q 행렬

Qij=χ(aiaj)

를 정의할 수 있다. 이를 야콥스탈 행렬(틀:Llang)이라고 한다. 만약 q1(mod4)일 경우 1𝔽q은 제곱수이며, Q대칭 행렬이다 (Qij=Qji). 반면, 만약 q3(mod4)일 경우 1은 제곱수가 아니며, Q반대칭 행렬이다 (Qij=Qji).

이제, (q+1)×(q+1) 행렬

M(q+1)×(q+1)=(0j1×qjq×1Qq×q)

을 정의할 수 있다. 여기서

j1×q=(111)
jq×1=(111)

이다.

만약 q3(mod4)일 경우, H(q+1)×(q+1)=1(q+1)×(q+1)+M(q+1)×(q+1)(q+1)×(q+1) 아다마르 행렬이다.

만약 q1(mod4)일 경우, M의 각 성분을

0(1111)
±1±(1111)

로 치환하면, 2(q+1)×2(q+1) 아다마르 행렬을 얻는다.

1×1 행렬

(1)

(1)

은 아다마르 행렬이다. 이는 추가로 정칙 아다마르 행렬이다.

2×2 행렬

(1111)

은 표준형 아다마르 행렬이지만, 정칙 아다마르 행렬이 아니다.

역사

1867년에 제임스 조지프 실베스터2k×2k 크기의 아다마르 행렬을 최초로 구성하였다.[4] 이후 1893년에 자크 아다마르가 행렬의 행렬식절댓값의 최댓값의 상계를 발표하였으며,[5] 이 때문에 이를 포화시키는 행렬이 “아다마르 행렬”이라고 불리게 되었다.

1933년에 레이먼드 에드워드 앨런 크리스토퍼 페일리(틀:Llang, 1907~1933)가 유한체를 사용한 페일리 구성을 발견하였다.[6]

같이 보기

각주

틀:각주

외부 링크