기본 콘텐츠로 건너뛰기

벡터의 실수배

원문 보기:  https://dawoum.duckdns.org/wiki/벡터의_실수배 스칼라, 즉 실수에서, 같은 것을 두 번 더하면, \(a+a=2a\)로 나타냅니다.  벡터는 크기와 방향을 가지는데, 크기가 2배가 되는 것은 굉장히 직관적인 것으로 화살표의 길이가 2배가 됨을 쉽게 이해가 됩니다. 반면에 방향이 2배가 되는 것은 어떤 의미일까요? 예를 들어, 동쪽으로 50km/h로 달리는 자동차가 2배가 되면, 2배의 동쪽으로 100km/h로 달리는 자동차와 같이 표현해야 하는 걸까요? 어쨌든, 유클리드 벡터에서 방향은 시작점에서 끝점으로의 방향을 나타낼 뿐으로써, 정량화해서 나타낼 수는 없습니다. 즉, 벡터의 방향은 배수의 개념이 없으므로, 2배의 동쪽 과 같은 표현은 없습니다. 따라서, 같은 벡터를 몇 개를 더하는 배수의 개념은 벡터의 크기에만 영향을 미치고, 벡터의 실수배 라고 말합니다. 예를 들어, \(\vec{a}+\vec{a}=2\vec{a}\)로 나타내고, \(\vec{a}\)와 방향은 같고, 크기가 2배가 되는 벡터를 말합니다. 한편, 벡터의 덧셈에서 정의한 것처럼, \(-\vec{a}\)는 \(\vec{a}\)의 덧셈에 대한 역벡터로써, 크기는 같지만 방향이 반대인 벡터입니다. 즉, 음의 부호는 그 자체로 방향이 반대임을 나타내는 것으로 크기와는 상관이 없습니다. 이때, \(-\vec{a}\)를 두 번 더한, \((-\vec{a})+(-\vec{a})=-2\vec{a}\)는 \(\vec{a}\)와 방향이 반대이고, 크기가 2배인 벡터를 말합니다. 정리하자면, 영벡터가 아닌 벡터 \(\vec{a}\)와 실수 \(k\)에 대하여 \(k>0\)이면, 같은 방향의 선분의 길이가 \(k\)배인 벡터 \(k<0\)이면, 반대 방향의 선분의 길이가 \(-k\)배인 벡터 (이때, \(-k>0\)입니다.) \(k=0\)이면, 영벡터가 됩니다. 벡터의 실수배의 성질 벡터의 실수배는 원래 실수의 배수의 성질을 그대로 가집니다...

증명

원문 보기: https://dawoum.duckdns.org/wiki/증명

지식이 참된 것이 되기 위해서는 근거가 필요하나 근거를 소급해 보면 더 이상 증명하기가 곤란한 명제에 다다르게 됩니다. 이것이 바로 공리(axiom)이며, 어떤 이론체계에서 가장 기초적인 근거가 되는 명제입니다. 다음은 공리의 예입니다.

  • 명제 \(p\)가 성립한다면, 명제 '\(p\) 또는 \(q\)'도 성립한다.
  • 두 점이 주어졌을 때, 그 두 점을 통과하는 직선을 그을 수 있다.
  • \(a=b\)이면, \(a+c = b+c\)이다.
  • 어떤 자연수에 대해서도, 그 수의 '다음' 자연수(따름수)가 존재한다.
  • 어떤 것도 포함하지 않는 집합(빈 집합:공집합)이 존재한다.

정리(theorem)는 공리를 근거로 증명된 명제를 말하며, 다른 명제를 증명할 때 사용하는 중요한 명제를 가리킵니다.

증명(proof)은 특정한 공리들을 가정하고, 그 가정 하에서 어떤 명제가 참이라는 것을 보여주는 것을 말합니다. 

예를 들어,

\(\quad\)'선분의 수직이등분선 위의 점은 선분의 끝점에 이르는 거리가 같다'

라는 명제가 참임을 보이는 것을 증명이라고 합니다.

증명) 오른쪽 그림처럼 선분 \(\mathrm{AB}\)의 수직이등분선 \(l\)위의 한 점을 \(\mathrm P\)라고 하면, \(\triangle \mathrm{AMP}\)와 \(\triangle \mathrm{BMP}\)로 부터 다음의 사실을 알 수 있습니다.

  • \(\mathrm{AM=BM}\)
  • \(\angle \mathrm{AMP=BMP}=90^{\circ}\)
  • \(\mathrm{MP}\)는 공통

그러므로, \(\triangle \mathrm{AMP}\)와 \(\triangle \mathrm{BMP}\)는 두 변의 길이와 끼인각이 서로 같으므로 서로 합동(SAS)입니다. 따라서 대응하는 두 변의 길이가 서로 같습니다.

\(\quad\)\(\therefore \mathrm{PA=PB}\)

직접증명법

주어진 명제를 변형하지 않고 \(p \longrightarrow q\)가 참임을 증명하는 방법을 직접 증명법(direct proof)이라고 합니다. 

\(\quad\)'두 정수가 짝수이면 두 정수의 곱이 짝수이다.'

증명) 두 짝수를 \(a = 2m, b = 2n\) (\(m, n\)은 정수)로 나타낼 수 있습니다. 그러므로

\(\quad\)\(a \times b = 2m \times 2n = 4m \cdot n = 2(2 m \cdot n)\)

입니다. 여기서 \(2m \cdot n\)이 정수이므로 \(a \cdot b\)도 짝수입니다.

그러므로 '두 정수가 짝수이면 두 정수의 곱이 짝수이다.'는 참입니다.

대우증명법

어떤 명제와 그의 대우는 서로 진리값이 같음을 알아보았습니다. 즉, 어떤 명제가 참임을 직접 증명하는 것이 힘들면, 그의 대우 명제가 참임을 보임으로써 원래 명제가 참임을 보이는 것을 대우 증명법(Proof by Contraposition)이라고 합니다.

\(\quad\)'두 정수의 곱이 홀수이면 두 정수는 홀수이다.'

이 명제를 직접 증명법으로 참임을 보이기 위해서는 정수를 짝수와 홀수로 나눈 후에 모든 경우의 곱을 수행해야 합니다. 즉, 짝수\(\times\)짝수, 홀수\(\times\)짝수, 짝수\(\times\)홀수, 홀수\(\times\)홀수의 결과를 보이고, 네 가지 경우 중에 '홀수\(\times\)홀수'만이 홀수임을 보임으로써 명제가 참임을 증명합니다.

한편, 이 명제의 대우는 다음과 같습니다.

\(\quad\)'두 정수가 짝수이면 두 정수의 곱이 짝수이다.'

대우 명제와 원래 명제의 진리값은 같기 때문에 이 대우 명제를 증명하는 것이 원래 명제를 증명하는 것과 같습니다.

또한, 두 조건 \(p, q\)의 진리집합을 \(P, Q\)라 할 때

\(\quad\)\(Q^c \subset P^c \Longleftrightarrow P \subset Q\)

입니다. 그러므로 \(Q^c \subset P^c\)임을 보이는 것은 명제 \(p \longrightarrow q\) 참임을 보이는 것과 동치관계입니다.

귀류법

명제의 부정에서 명제의 부정에 대한 부정은 원래 명제가 됨을 알아보았습니다. 어떤 명제가 참임을 보이기 위해서, 원래 명제의 부정을 참이라고 가정했을 때 모순된 결과를 보임으로써, 원래 명제가 참임을 증명하는 방법을 귀류법(Proof by Contradiction:모순 증명법)이라고 합니다.

또한, 어떤 명제의 가정하에 결론의 부정을 가정하였을 때 모순되는 가정이 나온다는 것을 보여, 원래의 명제가 참인 것을 증명하는 방법입니다. 즉, \(p\longrightarrow q\)의 참임을 보이기 위해서, \(p\;\text{and}\;\sim\! q\)가 모순됨을 보이는 증명법입니다. 

즉, 조건 \(p, q\)의 진리집합을 \(P, Q\)라 할 때 다음을 만족합니다.  

\(\quad\)\(p\Longrightarrow q \Leftrightarrow (P\subset Q) \Leftrightarrow P^c \cup Q = U\)

또한, \(p\;\text{and}\;\sim\! q\)의 모순에 대한 해집합이 다음과 같습니다.

\(\quad\)\((P \cap Q^c)^c=P^c \cup Q\)

그러므로, 두 명제의 해집합이 같기 때문에 두 명제는 동치관계입니다.
예를 들어 '\(\sqrt{2}\)는 무리수이다.'를 귀류법을 사용해서 증명해 보겠습니다.
증명) 원래 명제의 부정인 다음의 명제가 참임을 가정합니다.

\(\quad\)'\(\sqrt{2}\)가 유리수이다.'

따라서 유리수의 정의에 따라 \(\displaystyle \sqrt{2} = \frac{b}{a}\) (\(a, b\)는 서로소인 정수, \(a \neq 0\))으로 둘 수 있습니다. 

식을 정리하면, \(2a^{2} = b^{2}\)이므로 \(b^{2}\)은 2의 배수입니다.

한편, 정수는 짝수(\(2m\))와 홀수(\(2m+1\))로 나눌 수 있으며 각각을 제곱했을 때 짝수(\(4m^2\))와 홀수(\(4m^2+4m+1\))의 결과가 나옵니다. (여기서 \(m\)은 정수)

그러므로 \(b^{2}\)이 2의 배수이므로, \(b\)도 2의 배수입니다. 따라서 \(b=2n\)으로 둘 수 있습니다. (여기서 \(n\)은 정수)

이를 위의 수식에 대입하면 \(\displaystyle a^{2}=\frac{1}{2}b^{2}=2n^{2}\)이므로 \(a^{2}\)은 2의 배수입니다. 그리고, \(a^{2}\)이 2의 배수이므로, \(a\)도 2의 배수입니다.

위의 두 결과 '\(b\)는 2의 배수', '\(a\)는 2의 배수'는 공통약수 2가 있음을 보입니다. 따라서 \(a, b\)가 서로소라는 가정에 모순되므로 \(\sqrt{2}\)는 유리수가 아닙니다. 즉 '\(\sqrt{2}\)는 무리수입니다.'


 

댓글

이 블로그의 인기 게시물

리눅스 한글 입력기 (Wayland 편)

원문 보기: https://dawoum.duckdns.org/wiki/한글 입력기/On_Wayland 최근 소프트웨어들의 버전 업그레이드로 인해, X11에서도 님프 입력기에서 문제들이 발생하고 있습니다. 따라서 이제는 X11이든, Wayland이든 kime을 사용하는 것이 바람직해 보입니다!! 리눅스 생태계에서 X11에서 Wayland로의 전환은 여러 가지 새로운 장점과 단점을 만들어 냅니다. 일반 사용자들은 이런 전환이 가진 장점에 열광하기도 하지만 기존에 작동하는 메커니즘이 작동하지 않을 때 더욱 불만을 표출합니다. 리눅스에서 가장 큰 문제점은 한글 입력에 있습니다. 그러나, 이 문제는 거의 한국 사람들에 국한된 문제입니다. 물론, 중국과 일본도 비슷한 처지에 있어서 CJK로 묶어서 얘기가 되지만, 한글은 다른 두 언어에 비해 더 고려할 사항이 있어서 한글 입력기 개발에 어려움이 더해진다고 알려져 있습니다. 이런 상황 아래에서, kime과 nimf는 최근에 한국에서 개발된 두 개의 한글 입력기입니다. 먼저, 개인적인 경험을 기반으로 결론부터 얘기하자면, X11에서는 nimf를 추천합니다. Wayland에서는 kime을 추천합니다. 이유는 간단하게도, X11에서는 nimf가 더 많은 프로그램에서 올바르게 동작했지만, Wayland에서는 X11에서 잘 입력되던 프로그램에서 입력이 되지 않거나 잘못 입력되는 경우가 발생합니다. 반면에 kime은 Wayland에서 nimf가 입력하지 못하는 프로그램에서 입력이 되거나 잘못 입력되던 것이 제대로 입력되는 경우가 있기 때문입니다. 예를 들어, 그놈 Wayland에서 적어도 아래의 현상이 있습니다: gnome-calendar : nimf 입력기 전환 안됨. kime 정상 작동. nimf 이 문제는 gooroom에서 제공되는 gtk4 패치를 이용해 보십시오. kakaotalk (bottles: wine) : nimf 마지막 점을 찍으면 마지막 글자 앞에 찍힘. kime 정상 작동. alac...

Btrfs 압축 수준 설정

원문 보기:  https://dawoum.duckdns.org/wiki/Btrfs 보통, 마운트 옵션에서 compress=zstd를 사용할 경우에 압축 레벨 3를 사용하고, HDD와 느린 플래시 스토리지에 적합하다고 알려져 있습니다. 좀 더 빠른 SATA SSD는 압축 레벨 2가 적당하고, NVME는 압축 레벨 1이 적당하다고 합니다: Yup, this is it. On slow storage higher compression levels tend to yield higher total storage throughput because you spend less time bound by slow storage bandwidth, instead you spend CPU time compressing/decompressing that data. The rick is to pick a compression level that yields greater total throughput than storage bandwidth can accommodate on its own. This approach works well on bandwidth limited storage like HDD pools, slow flash nand, flash nand attached to the system via slow USB, etc. On the flip side you don't want to constrain high bandwidth storage by sending data through a compression algorithm that limits throughput so lower compression levels (like zstd:1 on nvme storage, or zstd:2 on fast SATA SSDs) are usually safe choices. —  seaQueue, Btrfs compress level, https://...

리눅스 한글 입력기

원문 보기:  https://dawoum.duckdns.org/wiki/한글_입력기 컴퓨터에서 한글을 입력하기 위해서 한글 입력기가 필요합니다. 리눅스 배포판마다 기본으로 설치되는 입력기가 있지만, 설치 후에 바로 한글 입력이 가능한 경우는 드뭅니다. 배포판의 설치 후에, 바로 한글 입력이 가능하려면, 적어도 언어를 한국어 ( Korean )로 선택해야 합니다. 그러나, 대부분의 배포판은 설치시에 한국어 ( Korean )를 선택하더라도 별도로 설정을 해야 한글 입력이 가능합니다. 게다가, 배포판이 기본으로 제공하는 데스크탑 환경에 따라 한글 입력기 설정이 다를 수 있습니다. 아래의 입력기는 사용 당시 일부 문제점이 발견되었고, 현재 문제가 남아 있는지 확인을 하지 않았습니다. 또한, snapd와 flatpak 아래에 설치된 프로그램들도 ibus에서 한글 입력이 입력될 가능성이 있고, 나머지에서는 지원이 되지 않는 것으로 알려져 있습니다. 다른 입력기에서 입력이 되는 것처럼 보이는 것은 ibus와 해당 입력기가 동시에 동작하고 있을 가능성이 있습니다. 한글 입력기 문제들 보고 장소 한글 입력기를 사용하면서, 만날 수 있는 문제는 아래에서 볼 수 있습니다: https://github.com/korean-input/issues 이미 보고된 내용 외에도 문제가 있는 분들은 같은 장소에 내용을 기록해 둘 필요가 있습니다. kime 한글 입력기(Korean ime)를 줄여서 만든 kime은 Rust로 작성되었습니다. 아래에서 소스를 볼 수 있습니다: https://github.com/Riey/kime 개별적인 설정을 수정 또는 추가하기 위해, 패키지에서 제공된 설정 파일을 사용자 설정으로 복사할 필요가 있습니다: mkdir -p ~/.config/kime cp /usr/share/doc/kime/default_config.yaml ~/.config/kime/config.yaml 예를 들어, 한/영 전환이 기본적으로 오른쪽 Alt 로 동작하는 ...