수학책과 논문은 '모든', '어떤', '~의 원소', '~에서 ~로 가는 함수' 같은 말을 기호로 짧게 씁니다. 이 장은 그 기호들을 처음부터 정리합니다. 고등학교에서 본 집합과 함수를 조금 더 정확하게 다시 보고, 대학 수학에서 매일 쓰는 단사·전사 같은 말을 새로 익힙니다. 이 장의 기호를 알아 두면 뒤의 모든 장과 논문의 첫 쪽이 훨씬 덜 낯섭니다.
0.1 기호가 필요한 이유
질문. 다음 문장을 읽어 봅시다. “어떤 실수를 골라도, 그 수를 제곱한 값은 0보다 작지 않습니다.” 이 문장을 한 줄짜리 식으로 줄일 수 있을까요?
수학책은 말 대신 기호를 씁니다. 기호가 어려워 보이는 이유는 대개 기호 자체가 아니라, 그 기호가 줄여 놓은 긴 문장을 머릿속에서 다시 펼치는 연습이 안 되어 있기 때문입니다. 위 문장은 이 장이 끝나면 다음처럼 쓸 수 있습니다.
∀x∈R,x2≥0
읽는 법은 “모든 실수 x에 대하여, x2은 0 이상입니다”입니다. 기호 하나하나가 문장의 어느 부분을 맡고 있는지 대응시킬 수 있으면 이 장의 목표는 달성된 것입니다.
이 장에서 다루는 것은 네 가지입니다.
집합(set): 대상을 묶는 방법
논리 기호: “모든”, “어떤”, “이면”을 정확하게 쓰는 방법
합의 기호∑: 길게 늘어지는 덧셈을 줄이는 방법
함수(function): 한 집합의 원소를 다른 집합의 원소로 보내는 규칙
선형대수의 모든 정의는 이 네 가지 재료로 쓰입니다.
0.2 집합
직관. 집합은 “주머니”입니다. 주머니 안에 무엇이 들어 있는지만 중요하고, 들어 있는 순서나 몇 번 넣었는지는 상관없습니다.
정의 0.1 (집합과 원소). 잘 정의된 대상들의 모임을 집합(set)이라 하고, 집합을 이루는 대상 하나하나를 원소(element)라 합니다. a가 집합 A의 원소이면 a∈A라 쓰고, 원소가 아니면 a∈/A라 씁니다.
“잘 정의된”이란 어떤 대상이 그 모임에 속하는지 아닌지가 분명하게 결정된다는 뜻입니다. “큰 수들의 모임”은 큰 수의 기준이 없으므로 집합이 아닙니다. “10보다 큰 정수들의 모임”은 집합입니다.
0.2.1 집합을 적는 두 가지 방법
원소나열법은 원소를 중괄호 안에 모두 적습니다.
A={1,2,3,4}
{1,2,3,4}, {4,3,2,1}, {1,1,2,3,4}는 모두 같은 집합입니다. 순서와 중복은 의미가 없습니다.
조건제시법은 원소가 만족할 조건을 적습니다.
A={x∈Z:1≤x≤4}
읽는 법은 “1≤x≤4를 만족하는 정수 x 전체의 집합”입니다. 쌍점(:) 앞에는 어디서 고르는지, 뒤에는 어떤 조건으로 고르는지를 씁니다. 쌍점 대신 세로선 ∣을 쓰는 책도 있습니다.
예제 0.2.B={x∈R:x2=4}를 원소나열법으로 쓰면 B={−2,2}입니다. 한편 C={x∈R:x2=−1}에는 원소가 하나도 없습니다.
정의 0.3 (공집합). 원소가 하나도 없는 집합을 공집합(empty set)이라 하고 ∅로 씁니다.
0.2.2 부분집합과 같음
정의 0.4 (부분집합). 집합 A의 모든 원소가 집합 B의 원소이면 A를 B의 부분집합(subset)이라 하고 A⊆B로 씁니다.
정의 0.5 (집합의 같음).A⊆B이고 B⊆A이면 두 집합이 같다(equal)고 하고 A=B로 씁니다.
두 번째 정의는 앞으로 아주 자주 쓰입니다. “두 집합이 같습니다”를 증명하라는 문제는 거의 언제나 “⊆를 양쪽 방향으로 보여라”는 뜻입니다. 선형대수에서 “두 부분공간이 같습니다”를 증명할 때도 이 방법을 씁니다(1장 1.6절).
입니다. 수학에서 “또는”은 둘 다인 경우도 포함합니다. x가 A와 B에 모두 속해도 x∈A∪B입니다.
두 원이 겹친 그림(벤 다이어그램)으로 보면 평면이 네 영역으로 나뉩니다. A에만 있는 영역, 둘 다에 있는 영역, B에만 있는 영역, 어느 쪽에도 없는 영역입니다. 합집합은 앞의 세 영역, 교집합은 가운데 영역, A∖B는 A에만 있는 영역입니다.
집합 연산을 고르면 그 결과에 해당하는 영역이 칠해집니다
이 위젯은 JavaScript가 필요합니다
0.2.4 곱집합: 순서쌍의 집합
이 절에서 가장 중요한 개념입니다. 다음 장에서 벡터를 “숫자의 목록”으로 볼 때 정확히 이 개념을 씁니다.
정의 0.7 (순서쌍과 곱집합).a∈A, b∈B로 만든 (a,b)를 순서쌍(ordered pair)이라 합니다. 두 순서쌍은 같은 자리의 성분이 모두 같을 때만 같습니다. 즉
(a,b)=(c,d)⟺a=c그리고b=d
다. A의 원소와 B의 원소로 만들 수 있는 순서쌍 전체의 집합을 곱집합(Cartesian product)이라 하고 A×B로 씁니다.
A×B={(a,b):a∈A,b∈B}
집합과 달리 순서쌍은 순서가 중요합니다. {1,2}={2,1}이지만 (1,2)=(2,1)입니다.
예제 0.8.A={1,2}, B={x,y,z}이면
A×B={(1,x),(1,y),(1,z),(2,x),(2,y),(2,z)}
이고 원소는 2×3=6개입니다.
R×R은 실수 두 개로 이루어진 순서쌍 전체, 즉 좌표평면의 점 전체입니다. 이것을 R2이라 씁니다. 같은 방식으로 실수 n개의 순서 있는 목록 전체를 Rn이라 씁니다.
Rn={(x1,x2,…,xn):x1,…,xn∈R}
▶ 문제 0.1–0.4
0.3 수의 집합
자주 쓰는 수의 집합에는 고정된 이름이 있습니다.
기호
이름
원소의 예
N
자연수
1,2,3,…
Z
정수
…,−2,−1,0,1,2,…
Q
유리수
qp 꼴 (p,q∈Z, q=0)
R
실수
2, π, −0.5
C
복소수
a+bi 꼴 (a,b∈R, i2=−1)
이들 사이에는 N⊆Z⊆Q⊆R⊆C의 관계가 있습니다. 여기서 N은 1부터 시작합니다(0을 포함시키는 책도 있습니다).
선형대수에서는 “어떤 수로 계산하는가”가 결과를 바꾸기도 합니다. 예를 들어 x2+1=0은 R에서 해가 없지만 C에서는 해 ±i가 있습니다. 이 차이는 16장과 24장에서 고윳값이 존재하는지를 결정합니다. 그전까지는 거의 모든 계산을 R에서 합니다.
▶ 문제 0.5
0.4 논리 기호
0.4.1 명제와 연결어
정의 0.9 (명제). 참인지 거짓인지가 분명하게 결정되는 문장을 명제(statement)라 합니다.
“3>2”는 참인 명제, “2+2=5”는 거짓인 명제입니다. “x>2”는 x가 정해지지 않으면 참·거짓을 알 수 없으므로 아직 명제가 아닙니다.
명제 P, Q를 연결하는 기호는 다음과 같습니다.
기호
읽는 법
참이 되는 경우
P∧Q
P 그리고 Q
둘 다 참
P∨Q
P 또는 Q
적어도 하나가 참
¬P
P가 아니다
P가 거짓
P⇒Q
P이면 Q
P가 참인데 Q가 거짓인 경우만 빼고 모두
P⇔Q
P일 필요충분조건은 Q
P, Q의 참·거짓이 같음
P⇒Q의 마지막 줄이 처음에는 이상하게 보입니다. “비가 오면 땅이 젖습니다”는 약속을 생각합시다. 이 약속이 깨지는 경우는 비가 왔는데 땅이 안 젖은 경우뿐입니다. 비가 안 온 날에는 땅이 젖든 말든 약속을 어긴 것이 아닙니다. 그래서 P가 거짓이면 P⇒Q는 자동으로 참입니다.
정의 0.10 (역·대우). 명제 P⇒Q에 대하여 Q⇒P를 역(converse), ¬Q⇒¬P를 대우(contrapositive)라 합니다.
정리 0.11 (대우의 동치).P⇒Q와 그 대우 ¬Q⇒¬P는 참·거짓이 항상 같습니다. 반면 역은 원래 명제와 참·거짓이 다를 수 있습니다.
증명.P⇒Q가 거짓인 경우는 “P 참, Q 거짓”뿐입니다. ¬Q⇒¬P가 거짓인 경우는 “¬Q 참, ¬P 거짓”, 즉 “Q 거짓, P 참”뿐입니다. 두 명제가 거짓이 되는 경우가 똑같으므로 참·거짓이 항상 같습니다.
역이 다를 수 있다는 것은 예 하나로 충분합니다. “x=2이면 x2=4”는 참이지만, 역 “x2=4이면 x=2”는 x=−2일 때 거짓입니다. ■
0.4.2 한정기호: 모든, 어떤
정의 0.12 (한정기호).
∀x∈A,P(x): “A의 모든 원소 x에 대하여 P(x)입니다.” (∀는 전칭기호(universal quantifier))
∃x∈A,P(x): “P(x)를 만족하는 x∈A가 적어도 하나 존재합니다.” (∃는 존재기호(existential quantifier))
∀는 뒤집힌 A(All), ∃는 뒤집힌 E(Exists)로 기억하면 됩니다.
한정기호가 두 개 이상이면 순서가 뜻을 바꿉니다. 다음 두 명제를 비교합시다.
(가)∀x∈R,∃y∈R,x+y=0(나)∃y∈R,∀x∈R,x+y=0
(가)는 “어떤 x를 주든, 그 x에 맞춰 y를 고를 수 있습니다”입니다. y=−x로 고르면 되므로 참입니다. (나)는 “하나의 y가 있어서, 그 y가 모든 x에 대해 동시에 x+y=0을 만족합니다”입니다. x=0이면 y=0이어야 하고 x=1이면 y=−1이어야 하므로 그런 y는 없습니다. 따라서 거짓입니다.
직관.∀x∃y에서는 y를 고를 때 x를 보고 고를 수 있습니다. ∃y∀x에서는 x를 보기 전에 y를 먼저 정해야 합니다.
0.4.3 부정
정리 0.13 (한정기호의 부정).
¬(∀x∈A,P(x))⟺∃x∈A,¬P(x),¬(∃x∈A,P(x))⟺∀x∈A,¬P(x)
말로 하면 이렇습니다. “모두 그렇습니다”가 틀렸다는 것은 “그렇지 않은 것이 적어도 하나 있습니다”는 것입니다. “그런 것이 있습니다”가 틀렸다는 것은 “모두 그렇지 않습니다”는 것입니다. 부정을 기계적으로 하는 규칙은 ∀와 ∃를 맞바꾸고, 맨 끝의 조건만 부정한다입니다.
예제 0.14. (가)의 부정은 ∃x∈R,∀y∈R,x+y=0입니다.
“그리고”와 “또는”의 부정은 다음과 같습니다(드모르간 법칙).
¬(P∧Q)⟺¬P∨¬Q,¬(P∨Q)⟺¬P∧¬Q
▶ 문제 0.6–0.8
0.5 합의 기호 Σ
질문.12+22+32+⋯+1002을 줄여 쓰려면?
정의 0.15 (합의 기호). 수 am,am+1,…,an의 합을
k=m∑nak=am+am+1+⋯+an
로 씁니다. k를 첨자(index)라 하고, k는 m부터 1씩 늘어나 n에서 멈춥니다.
위 질문의 합은 ∑k=1100k2입니다.
예제 0.16.
k=1∑4(2k−1)=1+3+5+7=16,j=0∑32j=1+2+4+8=15
첨자의 이름은 아무것이나 써도 됩니다. ∑k=1nak와 ∑i=1nai는 같은 값입니다. 첨자는 합 안에서만 의미가 있는 “임시 변수”입니다.
안쪽 ∑부터 계산합니다. 이렇게 두 첨자를 가진 수 aij는 표(행 i, 열 j)로 늘어놓을 수 있습니다. 이 표가 바로 행렬(matrix)입니다. 덧셈 범위가 유한하면 ∑i∑j와 ∑j∑i는 같습니다. 표의 모든 칸을 더하는데 가로줄부터 더하든 세로줄부터 더하든 결과가 같기 때문입니다.
▶ 문제 0.9–0.11
0.6 함수
직관. 함수는 “기계”입니다. 정해진 입력 상자에서 하나를 넣으면 정해진 출력 상자의 원소 하나가 나옵니다. 같은 것을 넣으면 언제나 같은 것이 나옵니다.
정의 0.18 (함수). 집합 A의 각 원소 a에 집합 B의 원소를 정확히 하나씩 대응시키는 규칙 f를 A에서 B로의 함수(function) 또는 사상(map)이라 하고 f:A→B로 씁니다. a에 대응하는 원소를 f(a)로 씁니다.
A를 정의역(domain), B를 공역(codomain)이라 합니다.
f(A)={f(a):a∈A}를 치역(range, image)이라 합니다.
공역과 치역은 다릅니다. 공역은 “출력이 들어갈 수 있는 곳”이고, 치역은 “실제로 나오는 출력 전체”입니다. f:R→R, f(x)=x2이면 공역은 R이지만 치역은 {y∈R:y≥0}입니다.
0.6.1 단사·전사·전단사
정의 0.19 (단사·전사·전단사). 함수 f:A→B에 대하여
서로 다른 입력이 항상 서로 다른 출력으로 가면, 즉 ∀a1,a2∈A,f(a1)=f(a2)⇒a1=a2이면 f를 단사(injective)라 합니다.
공역의 모든 원소가 어떤 입력의 출력이면, 즉 ∀b∈B,∃a∈A,f(a)=b이면 f를 전사(surjective)라 합니다.
단사이면서 전사이면 전단사(bijective)라 합니다.
정의역과 공역을 두 타원으로, 대응을 화살표로 그려 봅시다. 공역에 화살표를 받지 못한 점이 있으면 전사가 아닙니다. 한 점이 화살표 두 개를 받으면 단사가 아닙니다. 짝이 정확히 하나씩 맞으면 전단사입니다.
단사의 정의는 대우로 바꿔 “a1=a2⇒f(a1)=f(a2)”로 읽으면 직관에 더 가깝습니다. 그런데 증명할 때는 원래 형태 “f(a1)=f(a2)이면 a1=a2”가 더 쓰기 편합니다. 등식에서 출발해 등식에 도착하는 계산이 되기 때문입니다.
예제 0.20.f:R→R, f(x)=2x+1이 단사임을 보입시다. f(a1)=f(a2)라 하면 2a1+1=2a2+1이므로 a1=a2입니다.
전사임도 보입시다. 임의의 b∈R이 주어졌을 때 a=2b−1로 잡으면 f(a)=2⋅2b−1+1=b입니다.
전사를 증명하는 방법을 눈여겨봅시다. “임의의 b가 주어졌습니다”로 시작해서, 그 b를 이용해 a를 직접 만들어 보여 줍니다. 정의의 ∀b∃a 순서가 그대로 증명의 순서가 된 것입니다.
0.6.2 합성과 역함수
정의 0.21 (합성함수).f:A→B, g:B→C에 대하여 (g∘f)(a)=g(f(a))로 정의한 함수 g∘f:A→C를 f와 g의 합성(composition)이라 합니다.
g∘f는 오른쪽의 f를 먼저 적용합니다. 함숫값을 g(f(a))로 쓸 때 a에 가까운 쪽이 먼저 작용하기 때문입니다. 5장에서 행렬곱 BA도 “A 먼저, B 나중”으로 읽게 되는데, 이유가 똑같습니다.
합성은 순서를 바꾸면 보통 다른 함수가 됩니다. f(x)=x+1, g(x)=x2이면 (g∘f)(x)=(x+1)2이고 (f∘g)(x)=x2+1입니다.
정의 0.22 (역함수).f:A→B에 대하여 g:B→A가
g(f(a))=a(∀a∈A),f(g(b))=b(∀b∈B)
를 만족하면 g를 f의 역함수(inverse function)라 하고 f−1로 씁니다.
정리 0.23 (역함수의 존재).f:A→B의 역함수가 존재하는 것은 f가 전단사인 것과 동치입니다.
증명. (⇒) 역함수 g가 있다고 합시다. 단사: f(a1)=f(a2)이면 양변에 g를 적용해 a1=g(f(a1))=g(f(a2))=a2입니다. 전사: 임의의 b∈B에 대해 a=g(b)로 잡으면 f(a)=f(g(b))=b입니다.
(⇐) f가 전단사라 합시다. 각 b∈B에 대해, 전사이므로 f(a)=b인 a가 있고, 단사이므로 그런 a는 하나뿐입니다. 이 유일한 a를 g(b)로 정의합니다. 그러면 정의에 의해 f(g(b))=b입니다. 또 a∈A에 대해 b=f(a)로 두면 g(b)는 f(⋅)=b를 만족하는 유일한 원소이므로 g(f(a))=a입니다. ■
이 정리는 9장과 22장에서 “가역 행렬”과 “동형사상”의 바탕이 됩니다. 행렬 A의 역행렬이 존재하는지를 묻는 것은, A가 나타내는 변환이 전단사인지를 묻는 것과 같습니다.
▶ 문제 0.12–0.15
쓰이는 곳. 논문의 정의 문장은 거의 언제나 “f:X→R”, “∀x∈S”, “{x∣⋯}” 같은 이 장의 기호로 시작합니다. 예를 들어 머신러닝의 모델은 '입력 집합 X에서 출력 집합 Y로 가는 함수'로, 데이터셋은 순서쌍의 집합 {(xi,yi)}i=1n으로 씁니다.
이 장의 요약
집합은 원소의 모임이고, 순서와 중복은 의미가 없습니다. A=B는 A⊆B와 B⊆A로 증명합니다.
순서쌍은 순서가 중요합니다. 실수 n개의 순서 있는 목록 전체가 Rn입니다.
P⇒Q와 대우 ¬Q⇒¬P는 동치이고, 역은 아닙니다.
한정기호의 순서는 뜻을 바꿉니다. 부정은 ∀↔∃를 바꾸고 마지막 조건을 부정합니다.
∑은 선형입니다: ∑(ak+bk)=∑ak+∑bk, ∑cak=c∑ak.
함수 f:A→B는 단사(다른 입력 → 다른 출력), 전사(공역 전체를 덮음), 전단사(둘 다)로 분류됩니다. 역함수가 있는 것과 전단사인 것은 동치입니다.