0%

우리가 속해 있는 이 세상은 무엇으로 그리고 어떻게 이루어져 있을까요? 인간이 수백년 혹은 수천년간 알고자 했던 이 질문의 답을 찾아나서기 위해서 물리학이라는 거대하고 깊은 바다에 뛰어들어야 합니다. 이 글에서는 심연에 잠수하기 앞서 바닷가에 먼저 발을 담그고자 합니다. 첫 번째 절은 물리계가 무엇인지 그리고 물리법칙은 어떻게 정의하는지 알아볼 것입니다. 두 번째와 세 번째 절에서는 각각 단(單)입자와 다(多)입자 역학운동을 살펴볼 것입니다. 마지막으로 물리계에는 어떤 구속조건이 존재할 수 있는지 알아보고 마무리 합니다.

물리계와 물리법칙

물리계란 무엇인가?

물리계(physical system) 또는 간단히 계 \(S\)는 물리법칙으로 분석하고자 하는 우리가 구상가능한 세계 \(U\)의 한 부분입니다. 구상가능한 세계는 우리가 바라보고 인식한 세계가 될 수 있고, 눈을 지그시 감고 머릿속에서 상상한 어떠한 세계도 될 수 있습니다. '우리'는 나와 여러분 그리고 우리집 진돗개와 저 멀리 우뚝 서 있는 소나무, 이 모든 것들을 의미합니다. 물론 나와 여러분이 소나무를 보았을 때 소나무가 상상이라는 것을 할 수 있을 것이라고 믿지 않겠지만 소나무의 관점에서 바라보면 자기자신이 선선히 부는 바람을 맞고 있는 것을 느낄 수 있으며 소나무만의 우주를 인식할 수 있지 않을까요?

물리법칙 정의하기

물리법칙(physical law) 또는 자연법칙은 우리가 속한 우주 내에서 과학적실험을 통해 확인한 경험적관찰을 바탕으로 만든 이론을 뜻합니다. 이론은 어떤 자연현상을 해석하기 위해 논리적으로 일반화한 명제체계입니다. 이론을 구축하기 위해서는 어떤 자연현상을 인지하는 주체가 능동적으로 정보를 수집해야 하는데 이를 경험적관찰이라 합시다. 경험적관찰에서 얻은 정보를 수치화하는 행위를 측정이라 부릅니다. 자연현상을 인지하는 주체는 지구상에서 우리 모두이지만 능동적으로 정보를 수집하여 보다 깊은 체계화와 추상화를 이룰 수 있는 개체는 아직까지 인간이지 않을까 싶군요 : )

이론이 구축된 후 물리법칙으로서 통용되기 위해서는 반복적인 경험적관찰이 필요하고 수집한 수치화된 정보를 갖고 통계적해석을 통해 이론을 일반화 화는데 이를 과학적실험이라 부릅니다. 물론 과학적실험이 반복되며 어떤 측정값이 특정값에 수렴할 수 있지만 완전한 해를 얻는 것은 불가능합니다. 따라서 주어진 한계 내에서만 물리법칙은 진실로 받아들여질 수 밖에 없습니다.

단입자 역학운동

위치·속도·가속도·관성좌표계

고전역학에서 모든 물리법칙은 결정성(deterministic)과 가역성(reversibility)을 띠어야 합니다. 물리법칙이 결정성과 가역성을 띤다는 말은 각각 물리법칙이 현재에서 계의 미래를 예측할 수 있다는 것과 물리계의 과거정보가 사라지지 않는다는 것을 의미합니다.

고전역학에서 물리계 \(S\)는 원점이 포함된 좌표계에서 표현되며, 좌표계 원소 \(\mathbf{r}\)은 위치(position)라 부르고 유일하게 결정됩니다. 계를 제외한 나머지는 주위(surroundings)라 부르며 앞으로 연재될 글에서 주위를 \(S^{c}\)로 표기하도록 약속합시다. 경계(boundary) \(\partial S\)는 계와 주위를 나누는 역할을 합니다. 점입자는 공간을 차지하지 않고 영차원에 존재하는 이상적인 물리계로 유용하게 사용됩니다. 크기나 모양에 상관없이 어떤 물체라도 점입자로서 표현할 수 있다는 편리함이 있지만 이상적인 물리계이기 때문에 점입자를 사용하여 계산된 값은 근사치라는 단점이 있습니다. 물리계는 상태(state)를 통해 기술하며 고전역학에서는 물리계 내에 있는 입자들의 위치와 운동량(속도)으로 표현합니다.

편의상 이 글에서 다룰 물리계는 점입자로 가정합시다. 위치 \(\mathbf{r}\)에 있는 점입자의 속도 \(\mathbf{v}\)와 가속도 \(\mathbf{a}\)는 각각 \(\mathbf{v} = \dot{\mathbf{r}}\)\(\mathbf{a} = \dot{\mathbf{v}}\)처럼 정의합니다. 속도가 일정할 경우 점입자는 등속운동 한다고 말하며 만약 속도가 일정하지 않다면, 즉 가속도가 존재할 경우 우리는 힘 \(\mathbf{F}\)가 점입자에 작용한다고 말합니다.

기준좌표계(reference frame)는 물리계의 측정값이 유일하게 결정되는 좌표계로, 측정값이란 앞에서 살펴보았듯이 과학적실험을 통해 얻은 수치값을 의미합니다. 관성기준좌표계(inertial reference frame) 또는 관성좌표계는 등속운동하는 기준좌표계를 의미합니다.

뉴턴역학

위에서 정의한 여러 개념들을 가지고 물리계 주위는 텅 빈 공간이라는 가정 하에 뉴턴 세 법칙을 살펴보도록 합시다.

  1. 관성기준좌표계 내에서 외부힘이 물리계에 작용하지 않는 한 일정한 운동량 \(\mathbf{p}\)는 물리계의 총 질량 \(m\)과 물리계가 움직이는 속도 \(\mathbf{v}\)의 곱이다. \[\begin{equation} \mathbf{p} = m\mathbf{v}. \end{equation}\]
  2. 관성기준좌표계 내에서 물리계에 가한 힘 \(\mathbf{F}\)는 물리계의 시간에 따른 운동량 \(\mathbf{p}\)의 변화율과 동일하다. \[\begin{equation} \mathbf{F} = \dot{\mathbf{p}} = \frac{d}{dt}(m\mathbf{v}). \end{equation}\]
  3. 관성기준좌표계 내에서 물리계 \(A\)가 다른 물리계 \(B\)에 힘을 가하면 \(B\)\(A\)에 크기는 같고 방향은 반대인 힘을 동시에 가한다. \[\begin{equation} \mathbf{F}_\text{AB} = -\mathbf{F}_\text{BA}. \end{equation}\]

아리스토텔레스가 정의한 힘(틀렸어!)

뉴턴 이전에 힘을 정의하고자 한 사람이 있었습니다. 그는 아리스토텔레스이며 뉴턴과 다르게 힘이 가속도(질량일정)가 아닌 속도에 비례한다고 생각하였습니다. 우선 책상 위에 놓여있는 스마트폰을 여러분이 밀었을 때 스마트폰은 민 방향을 따라 이동할 것입니다. 하지만 스마트폰에서 손을 놔버리면 더 이상 움직이지 않겠지요. 이러한 직관적인 경험을 통해 아리스토텔레스는 힘을 속도와 연관지어 설명하려 했습니다. 하지만 아리스토텔레스는 마찰력이 존재한다는 것을 알지 못하였고 틀린 이론이 되어버렸지요. 비록 그가 내린 결론은 틀렸지만 결정론과 가역성을 주의깊게 알아볼 수 있는 좋은 연습이 될 수 있기 때문에 간략하게 살펴보도록 합시다 :)

먼저 뉴턴의 힘방정식은 관성기준좌표계에서 물리계 \(S\) 내의 점입자에 작용하는 힘 \(\mathbf{F}_{N}\)는 질량이 변하지 않는다는 가정하에 물리계의 질량과 가속도 \(\mathbf{a}\)의 곱으로 나타냅니다. \[\begin{equation} \mathbf{F}_{N} = m\mathbf{a}. \end{equation}\] 반면 아리스토텔레스 힘방정식은 가속도 대신 속도를 곱하여 다음과 같이 표현합니다. \[\begin{equation} \mathbf{F}_{A} = m\mathbf{v}. \end{equation}\] 편의를 위해 시간이 연속성을 지니지 않고 이산성을 지닌다고 가정합시다. 즉 \(t_{n+1} = t_{n} + \tau\)이 성립하고 오직 일차원 운동만 고려합시다. 위에 쓰여진 아리스토텔레스 힘방정식을 고치면 아래와 같은 식을 얻을 수 있습니다. \[\begin{equation} x(t + \tau) = \frac{\tau}{m}F(x,t) + x(t). \end{equation}\] 분명 위 운동방식은 혀재상태에서 미래상태를, 즉 \(x(t)\)로부터 \(x(t + \tau)\)를 알 수 있으므로 분명히 결정론성을 가지고 있습니다. 하지만 과연 과거정보를 보존하고 있을까요? 현재상태 x(t)는 위 식과 비슷하게 \(t\) 대신 \(t - \tau\)를 대입하여 아래와 같은 식을 얻을 수 있습니다. \[\begin{equation} x(t) = \frac{\tau}{m}F(x,t - \tau) + x(t - \tau). \end{equation}\] 하지만 \(F(x,t - \tau)\) 그리고 \(x(t - \tau)\)는 어떠한 값이 되어도 상관이 없으므로 현재상태에서 분명히 알 도리가 없습니다. 따라서 아리스토텔레스의 힘방정식은 결정론성을 띠나 가역성을 갖진 못합니다. 반면에 뉴턴이 제시한 힘방정식은 결정론성과 동시에 가역성을 내포하고 있으며 뉴턴이 제시한 힘방정식의 경우 미래상태는 다음과 같이 표현됩니다. \[\begin{equation} x(t + \tau) = \frac{\tau^2}{m}F(x,t) + 2x(t) - x(t - \tau). \end{equation}\] 위 식에서 바로 알아볼 수 있듯이 미래상태는 현재상태의 정보만 필요한 것이 아니라 과거상태의 정보도 함께 요구하고 있기 때문에 과거상태가 필연적으로 보존되어야만 합니다.

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

다양한 깃블로그를 구경하다가 NexT라는 테마가 마음에 들어 설치해보고자 마음을 먹었다. 우여곡절 끝에 Ubuntu 20.04(혹은 18.04)에 설치하는 것은 성공적이었지만 깃 사용법에 익숙하지 않고 웹서버와 관련된 지식이 전혀 없다보니 여러 시행착오가 있었다. 이 글은 필자가 겪었던 비슷한 어려움에 직면한 이들을 위해 작게나마 도움이 되는 전반적인 방법을 제공한다. 부디 도움이 되길 바란다.

\[\begin{equation*} \sum_{\delta \in \omega}\kappa(\delta, A) \approx \lim_{x \to q}\left[\frac{\Omega^{\hbar}(x;q)}{3n}\prod_{\delta\in\omega}f(y;\delta)\right] \end{equation*}\]

헥소(Hexo)를 다루기 이전에

헥소란 무엇인가?

핵소(Hexo)논 지킬(Jekyll)처럼 강력한 블로그 프레임워크다. 다만 큰 차이점으로 지킬은 Ruby기반이며 헥소는 node.js를 기반으로 하였다. 또한 node.js를 사용하는 헥소는 지킬보다 빠른 속도를 자랑하는 것이 큰 장접이다. 이 글은 node.js와 npm을 설치하는 방법과 헥소를 설정하는 방법을 제공한다.

Git 설치하기

엄청 간단하다. 다음 명령어를 터미널에 입력하자.

1
$ sudo apt install git
깃을 아직 사용할 줄 모른다 하여도 괜찮다. 이미 깃 사용법과 관련된 글들은 구글을 포함하여 많은 포털사이트에서 쉽게 찾을 수 있기 때문이다.

NVM을 이용해 node.js와 npm 설치하기

헥소를 설정하기 이전에 PC에 먼저 node.js와 npm이 설치되어야 한다. 보통 node.js를 설치하면 npm도 같이 설치가 되기 때문에 이 둘을 분리하여 다룰 필요는 없을 듯 하다. 여기를 보면 여러 설치방법이 있지만 헥소를 다루기 위해서는 NVM을 이용해 설치하는 두 번째 방법을 사용해야 할 것 같다. 그 이유로, 첫 번째 방법으로 설치하니 EACCES허가에러가 발생하였고 이 웹페이지가 서술하길 해당 에러가 발생할 경우 NVM을 이용해 다시 설치하라고 권장한다.

헥소(Hexo) 설정하기

헥소 설정방법

초기에는 npm을 사용하여 헥소를 전역으로 설치한다.

1
$ npm install hexo-cli -g
그 후에는 원하는 공간에 블로그를 위한 디렉토리를 하나 만든다. 필자는 간단히 Home에 Blog라는 디렉토리를 하나 생성했다.
1
$ mkdir Blog
그 다음 해당 디렉토리로 이동하여 노드 모듈을 설치한다.
1
$ hexo init hexo
기본적인 것은 완료하였다. 로컬에서 웹페이지를 확인하려면 아래 명령어를 치면 된다.
1
$ hexo server -o

Deployer 설치하기

다음으로 해야할 것은 깃에 업로드 하는 것이다. 이를 시행하기 위해서는 Deployer플러그인을 설치해야 한다.

1
$ npm install hexo-deployer-git --save
그리고 나서 루트(즉 Blog 디렉토리)에 있는 _config.yml파일을 수정해줘야 한다. 헥소를 잘 다룰 줄 아는 사람은 알아서 잘 하겠지만 본인은 헥소를 처음 접하기 때문에 아주 기본적인 정보만 수정해주었다. 먼저 사이트 정보를 변경한다.
1
2
3
4
5
6
7
title: STELLADUCK + MATH/PHYS
subtitle: ''
description: 별덕의 수리물리학 블로그
keywords:
author: Sanghoon Lee (Stelladuck)
language: ko
timezone: Asia/Seoul

그 다음 url 정보도 변경해준다.

1
2
3
4
5
6
7
url: http://stelladuck.github.io
root: /
permalink: :year/:month/:day/:title/
permalink_defaults:
pretty_urls:
trailing_index: true # Set to false to remove trailing 'index.html' from permalinks
trailing_html: true # Set to false to remove trailing '.html' from permalinks

마지막으로 Deployment 정보도 변경해준다.

1
2
3
4
deploy:
type: git
repo: https://github.com/Stelladuck/stelladuck.github.io.git
branch: master

테마 설정하기

마지막으로 테마를 설정해야 한다. 필자는 NexT라는 테마가 마음에 들었다. 설치를 위해 git clone명령을 사용하자.

1
$ git clone https://github.com/theme-next/hexo-theme-next.git themes/next
그러면 themes 하위에 있는 next라는 디렉토리에 필요한 것들이 추가되어 있을 것이다. 테마를 제공하기 위해 다시 루트에 있는 _config.yml에 가서 테마를 landscape에서 next로 바꿔준다.
1
theme: next

빠른 시작을 위한 메뉴얼

헥소 초기화

우선 초기화를 통해 정적 데이터를 삭제하자. 참고로 아직까지 Blog 디렉토리에 있다는 것을 잊지 말자.

1
$ hexo clean

새로운 글 만들기

1
$ hexo new "My New Post"

More info: Writing

서버 실행하기

1
$ hexo server

More info: Server

동적파일 생성하기

1
$ hexo generate

More info: Generating

배포하기

1
$ hexo deploy

More info: Deployment

생성과 배포는 한번에 할 수 있다.

1
$ hexo generate -deploy
배포 명령을 시행하면 깃 유저이름과 비밀번호를 입력하라고 한다. 입력 후 해당 <username>.github.io에 해당하는 레포지토리에 가면 업로드 되어있는 것을 확인할 수 있다. 그리고 블로그도 제대로 만들어져 있는지 확인해보자.