전체 글
-
[양자역학]4.양자 조화 진동자 (Quantum Harmonic Oscillator)양자역학 2024. 5. 19. 20:39
지난 글에서는 양자역학적인 병진 운동을 살펴보고, 터널링 현상에 대해 알아보았다.이번에는 입자의 진동 운동에 대해서 슈뢰딩거 방정식을 풀어보자.Classical Harmonic Ocillator용수철 상수가 \(k_f\)인 용수철에 질량 \(m\)을 가진 물체가 매달려서 진동하고 있다고 생각해보자. 초기 위치를 0이라고 할 때, 이를 기술하는 미분방정식과 해는 아래와 같다.$$m\dfrac{d^2 y}{dt^2} = -k_f x $$$$y(t) = A \sin \left(\sqrt{\dfrac{k_f}{m}} t \right) $$주기 \(T\)와 각진동수\(\omega\)는 다음과 같다.$$ \begin{align} T &= \dfrac{2 \pi} {\sqrt{ \dfrac{m}{k_f}}}\\ \o..
-
[양자역학]3.병진 운동 (Translational Motion)과 터널링(Tunneling)양자역학 2024. 5. 19. 11:20
지난 포스트에서 슈뢰딩거 방정식을 유도해보고, 적절한 경계조건하에서 서로 직교하는 무수히 많은 해가 나온다는 것을 보았다. 이번에는 이를 이용해서 완전히 자유롭게 움직이는 입자와 포텐셜 우물에 갖힌 입자(Particle in a box), 터널링 현상에 대해서 알아보자자유롭게 움직이는 입자1차원에서 자유롭게 움직이는 입자의 슈뢰딩거 방정식은 다음과 같다.$$-\dfrac{\hbar^2}{2m} \dfrac{d^2\psi}{dx^2} = E\psi$$그리고 이 방정식의 해는 아래와 같다.$$\psi = A\exp(ikx) + B\exp(-ikx), k=\dfrac{\sqrt{2mE}}{\hbar}$$별다른 초기조건이나 경계 조건이 없기 때문에 A, B는 특정할 수 없으며, 연속적인 에너지를 가질 수 있다...
-
[양자역학]2.슈뢰딩거 방정식 (Schrodinger Equation)과 해의 직교성양자역학 2024. 5. 18. 22:10
양자역학의 메인인 슈뢰딩거 방정식을 유도해보고, 해의 성질에 대해 알아보자Schrodinger Equation보어의 양자화 가설로 부터 \(E = h\nu \), 드 브로이의 물질파로 부터 \(p = \dfrac{h}{\lambda} \)라는 것에서 부터 출발하자여기서 \(h\)는 플랑크 상수, \(\nu\)는 진동수(v가 아닌 그리스 문자 nu이다), \(p\)는 운동량, \(\lambda\)는 파장이다.각진동수 (angular frequency) $$\omega = \dfrac{2\pi}{T} = 2\pi \nu $$파수 (wave number) $$k = \dfrac{2\pi}{\lambda}$$디렉 상수 $$\hbar = \dfrac{h}{2\pi} $$를 이용하면, 운동에너지와 운동량은 아래와 ..
-
[양자역학]1. 양자역학의 기본개념과 불확정성 원리양자역학 2024. 4. 29. 22:05
Atkins' Physical Chemistry 11e으로 양자역학 수업을 듣게 되었는데, 자세한 식 유도는 없고 간략한 소개 정도만 있었다. 또한 수학적으로 엄밀하게 집고 넘어가지 않는 부분이 많은 것 같아 독학한 내용을 정리해보려고 한다. 다변수 함수의 미적분, 미분방정식, 선형대수, 못해도 고등학교 수준의 확률과 통계에 대한 지식이 있다고 생각을 하고 글을 쓰겠지만, 이번 글에서는 많이 까먹은 사람을 위해서 중요한 수학적 개념을 다시 집고 넘어가면서, Bra-Ket Notation같은 양자역학의 표기법에 대해서 소개하려고 한다. 1. 벡터(Vector)와 기저(Basis)고등학교에서 기하 배우는 벡터와 일반물리 등에서 벡터는 크기과 방향을 가지는 화살표라고 배웠을 것이다. 틀린 말은 아니지만 이는 ..
-
[C++] Embedding Python + CMake기타 코딩 2024. 3. 2. 13:27
이번 글에서는 C++에서 Python C API를 사용하여 파이썬 인터프리터를 C++에 내장시키는 방법과 이를 빌드하기 위한 CMake 스크립트를 소개하고, Boost.Python 라이브러리를 소개해볼것 이다. 0.Requirement빌드에 사용한 환경은 다음과 같다.Windows 10 Visual Studio Commuity 2022 (Command Line만 사용하니 Visual Studio BuildTool을 사용해도 된다.)MSVC v143Window SDK 10.0.22621.0Python 3.11.7 (64bit)CMake minimum require 3.18Ninja초보자를 위한 설명을 덧붙이자면, 빌드 작업은 Developer Command Prompt에서 진행해야하며, 설치된 파이썬의 비..
-
[Python] 파이썬 코드 배포하기기타 코딩 2024. 3. 1. 18:15
파이썬으로 작성된 프로그램을 다른 사람들에게 배포할 때, 그 사람 컴퓨터에 원하는 버전의 파이썬이 설치되어있으며, 기존에 설치된 라이브러리와 버전 의존성이 충돌하지 않을 것이라 생각하기는 어려울 것이다. 따라서 PyInstaller와 같은 모듈을 사용하여 배포용 exe파일로 만들어주게 된다. 문제는 이것이 완벽한 것은 아니라서 필요한 라이브러리를 빼먹어 실행이 안되는 경우가 발생한다는 것이다. 이때 사용할 수 있는 방법 중 하나는 python embeddable package를 사용하는 것이다. https://www.python.org/downloads/windows/ Python Releases for Windows The official home of the Python Programming Lang..
-
[재업]차원 축소와 주성분분석(Principal Component Analysis, PCA)파이썬 머신러닝 2024. 2. 9. 22:33
실제 현상은 여러 변수가 영향을 미치지만, 그래프로 표현할 수 있는 것은 3차원 까지이다. 그렇다면 적당히 데이터의 분포를 잘 보여주도록 차원을 축소하여 그래프로 한눈에 볼 수는 없을까? 이에 대한 답변중 하나는 주성분 분석 (Pricipal Component Anaylse, PCA)이다. 이번 포스트에서는 PCA의 수학적인 원리를 알아보고, 이를 파이썬을 이용해 구현해볼 것이다. (scikit-learn에도 주성분 분석할 수 있도록 추상화된 함수를 제공하지만, 원리를 공부하기 위해 사용하지 않았다.) 0.Prequestion아래 간단하게 고유값 분해와 특이값 분해에대해 요약을 하였는데, 이해가 되지 않는다면 공부하고 오는 것을 추천한다.고유값과 고유벡터정사각 행렬 \(A\)와 영벡터가 아닌 열벡터 \(..
-
맥스웰-볼츠만 분포(Maxwell-Boltzmann Distribution)열역학 2024. 1. 20. 15:48
무수히 많은 입자들이 어떻게 거동할까? 입자 한개 한개의 움직임을 모두 계산하기에는 어려울 뿐만이 아니라 계산량이 매우 방대할 것이다. 이런경우 사용할 수 있는 모형 중에 하나가 확률 모형이다. 입자의 갯수가 적다면 주사위를 6번 던진다고 1~6이 모두 나오는 것이 아닌 것처럼, 확률에 기반한 설명은 잘 들어맞지 않겠지만, 기체의 운동처럼 입자가 아주 많은 경우라면 확률 모형은 현상을 잘 설명해준다. 이글은 이전에 고전역학적인 방법으로 맥스웰-볼츠만 분포를 유도해보았던 것을 정리하고자 작성하였다. 공업 수학에서 배우는 다변수 함수의 미적분과 고등학교 확률과 통계에서 배우는 내용이 익숙하다는 전제로 설명하겠다.Prerequestion1- 가우스 적분$$ \int_{-\infty}^{\infty} e^{-x..