이 문서는 [[CONCRETE-MATH]] 2장.합 - 4.다중합을 공부한 노트입니다.

둘 이상의 색인을 사용하기

색인이 여러 개 있어도 합 기호는 하나만 써도 된다.

위의 식을 python으로 표현하면 다음과 같다.

sum = 0
for j in range(1, 3+1):
    for k in range(1, 3+1):
        sum += a[j] * b[k]

아이버슨의 관례 사용

복습: 아이버슨의 관례?

대괄호 안에 있는 내용이 true이면 1, 아니면 0.

    • [2는 짝수] = 1
    • [2는 홀수] = 0

합 기호를 두 개 사용하는 경우: 합들의 합을 다루는 경우

  • 2중 for문과 똑같이 생각하면 된다.
    • 안쪽에서부터 실행된다고 생각하자. 즉, 위에서는 kj보다 먼저다.
  • j, k는 콜렉션이라 생각하면 된다.
    • 는 덧셈 루프에 j콜렉션을 집어넣은 것이다. 즉 루프를 돌며 j의 원소가 하나씩 함수에 입력되고, 은 함수의 출력 결과가 나올 때마다 더한다.
  • 주석을 붙이자면 다음과 같다.

합산 순서 교환 법칙(interchanging the order of summation)

  • 어차피 덧셈이라 순서가 바뀌어도 결과는 달라지지 않는다.
  • 따라서 어느 쪽이 계산이 더 쉬울지 고려해서 계산하기 편한 쪽을 고른다.

일반 분배법칙(general distributive law)

이번 장 처음에 나온 를 풀어보자.

회색으로 보이는 식은, 이해를 돕기 위해 붙인 것이다.

위의 과정을 통해 “색인 J, K의 모든 집합에 대해 성립하는” 일반 분배법칙을 유도할 수 있다.

합산 순서 교환 기본 법칙의 변형들

크게 두 가지 버전이 있다.

vanilla version

  • 과 똑같은 원리.
  • j, k의 limit가 독립적일 때 사용.

rocky road version

  • 안쪽 합의 범위가 바깥쪽 합의 색인 변수에 의존적인 경우에 사용.
  • 조건식을 좀 더 자세히 살펴보자.
    • 좌변을 인수분해(factorization)하여 우변을 얻은 것이라고 책에서는 표현한다.

유용한 인수분해

아이버슨식 공식을 사용한 변환식

위의 공식을 활용하면 다음이 가능하다.

아무래도 좌변보다 우변이 사용하기 쉬워 보인다.

응용: 상삼각 배열의 합을 단순한 단일합으로 표현하기

다음 식을 단순하게 정리하고 싶다고 하자.

식만 갖고는 생각하기 어려우니까 단순하게 다음과 같은 배열이 있다고 상상해 보자.

위의 식은 아래 배열의 파란색 항목(대각선)과 빨간색 항목의 합이라 할 수 있다.

삼각형 모양이니까… 이를 다음과 같이 축약하여 표현할 수 있을 것이다.

즉, 우리의 목표는 을 단순하게 정리하는 것이다.

한편, 파란색 항목과 까만색 항목의 합은 다음과 같이 표현할 수 있을 것이다.

곰곰히 살펴보면 라는 것을 알 수 있다!

( 이기 때문)

이 아이디어를 식으로 표현하면 다음과 같다.

덧붙여, 다음 사실도 알 수 있다.

어려운 식 같지만 하나씩 살펴보면 이해할 수 있다.

  • 가. 은 다음을 말한다.
  • 나. 은 다음을 말한다.
  • 다. 는 다음을 말한다.
  • 라. 는 다음을 말한다.
  • 가 + 나 = 다 + 라임을 어렵지 않게 알 수 있다.

아무튼, 이를 통해 다음을 유도할 수 있다.

응용: 또 다른 형태의 이중합을 정리하기

이번에는 위의 식을 정리해 보자.

  • 책을 보면 “jk의 교환에 대칭성이 존재한다.”고 한다.
    • jk를 서로 바꾸어도 똑같다는 말이다.

이를 다음과 같이 2S = ...의 형태로 정리할 수 있는데,

그 이유는 다음과 같다.

이제 계속 정리해 보자.

이를 통해 다음 항등식을 얻어내었다.

체비쇼프 단조 부등식(Chebyshev’s monotonic inequalities)

체비쇼프 단조 부등식은 위에서 얻어낸 항등식의 사례 중 하나이다.

교환법칙?

다중합과 단일합의 일반적인 합산 색인 변경 연산 사이의 관계를 살펴본다.

  • : K는 정수의 집합이다. k는 정수 집합 K의 원소이므로 정수이다.
  • 함수 p(k)의 리턴 타입이 정수이고, 모든 리턴 값이 K의 원소라면 위와 같이 kp(k)로 바꿔칠 수 있다.

여기에서, 색인 변수 kf(j)로 대체해보자.

  • f는 정수 를 정수 로 대응시키는 함수이다.
    • 정수 배열 J의 원소인 j를 입력했을 때, 정수 배열 K의 원소가 나오는 함수 f를 말하는 것이다.

그러면 다음과 같이 된다.

  • 이때, 는 집합 의 원소의 갯수이다.
  • 의 역함수이다.
    • 즉, 를 뒤집은 것이다.

만약 fJK를 일대일 대응시킨다면 의 값은 언제나 1이 된다.

그렇다면 는 다음과 같이 정리할 수 있다.

이는 교환 법칙과 똑같다.

구체적인 다중합의 예

작은 값부터 생각해 보자.

  • 이므로, 이어야 한다.
  • 그러나 가 분모에 있으므로 이 합은 더할 항이 하나도 없다.
    • 따라서 0 이다.
  • 를 만족시키는 j, kj = 1, k = 2 밖에 없다.
    • 따라서 1 이다.
  • 를 만족시키는 (j, k)(1,2),(1,3),(2,3) 밖에 없다.
    • 따라서 결과는 5/2.

이제 이 식을 정리해 보자.

모양이 꽤 단순해졌지만, 아직 우리는 조화수의 합을 구하는 식을 모른다.

그래서 다른 방법으로 풀어야 한다.

Links

  • [[CONCRETE-MATH]]