Computational Physics (Part3)【未完结】
Computational Physics (Part 3)[TOC]
7. Fourier Transform7.1 Fourier TransformDefinition:
\begin{aligned}
& H(f)=\int_{-\infty}^{\infty} h(t) e^{2 \pi i f t} d t \\
& h(t)=\int_{-\infty}^{\infty} H(f) e^{-2 \pi i f t} d f
\end{aligned}Convolution Theorem:
g * h \equiv \int_{-\infty}^{\infty} g(\tau) h(t-\tau) d \tau \Leftrightarrow G(f) H(f)Parseval Theorem:
\int_{-\infty}^{\infty}|h(t)|^2 d t=\int_{-\infty}^{\infty}|H(f)|^2 d f7.2 Discrete Fourier transform (DFT)Basic idea: We use discrete po ...
Computational Physics (Part2)【未完结】
Computational Physics (Part2)[TOC]
5. Roots and Extermal Points5.1 Root FindingIf there is exactly one root in the interval then one of the following methods can be used to locate the position with sufficient accuracy.
5.1.1 BisectionBasic idea: Use dichotomies to find change intervals
Remark: It converges but only slowly since each step reduces the uncertainty by a factor of 2
5.1.2 Regula Falsi (False Position) MethodBasic idea: use the polynomial interpolation to help find the root, and the ...
Computational Physics (Part1)
Computational Physics (Part1)[TOC]
1. Interpolation1.1 Polynomial Interpolation1.1.1 Lagrange Polynomialsbasic ideal: each term
L_i(x_k)=\delta_{i,k}The final formula is:
p(x)=\sum_{i=0}^{n}f_i\prod_{k=0,k\neq i}^{n}\frac{x-x_k}{x_i-x_k}1.1.2 Barycentric Lagrange Interpolationmotivation: Essentially the same as Lagrange interpolation, but the time complexity is reduced from to .
define two quantities:
\omega(x)=\prod_{i=0}^{n}(x-x_i)and
u_i=\frac{1}{\prod_{k=0,k\neq i}^{n}(x_i-x_k)}The f ...
原子分子碰撞中的time delay(一)
原子分子碰撞中的time delay(一)1.引言激光技术的快速进展使得我们能够在原子和分子的自然超快时间尺度上探测电子动力学。在理解超快过程的理论框架中,量子碰撞理论中的“Wigner time delay”被视为一个重要的方法。多年来,关于量子碰撞现象中的time delay已有大量的研究。本文旨在初步介绍“Wigner time delay”。(本文主要参考文献Deshmukh, P. C., & Banerjee, S. (2020). Time delay in atomic and molecular collisions and photoionisation/photodetachment. International Reviews in Physical Chemistry, 40(1), 127–153. https://doi.org/10.1080/0144235X.2021.1838805)
在经典物理学中,时间与能量一起作为一对正则共轭变量可以在哈密顿-雅可比理论中进行正则变换。然而,在量子理论里,时间与其他相空间变量之间有着本质的区别,即使能量和 ...
非线性光学导论I
非线性光学导论I本文参考文章Introduction to nonlinear optics
目录
什么是非线性效应以及为什么会发生非线性效应
介质中的麦克斯韦方程组
非线性光学介质
二次谐波
光子的守恒定律(Phase Match)
什么是非线性效应以及为什么会发生非线性效应什么是非线性效应将一束红外光射入一个晶体中会产生绿光:
非线性光学可以改变一束光的颜色、空间和时间上的分布或者人为产生超快过程。
非线性光学现象是许多光学器件(例如光通信设备、光传感器)的重要原理
为什么会发生非线性效应入射光会与介质分子发生相互作用,使得介质分子发生振动并发出辐射,辐射光将与原本的光发生干涉。
但是当入射光足够强的时候,分子中的电子可以吸收不止一个光子,从而辐射出更高频的光。
需要注意的是吸收多个光子并不需要中间能态
介质中的麦克斯韦方程组介质中的麦克斯韦方程组可以推导出在介质中的非齐次波动方程:
\frac{\partial^2 E}{\partial x^2}-\frac{1}{c_0^2}\frac{\partial^2 E}{\partial t^2}=\mu_0\frac{\pa ...
C语言数据结构与算法汇总
常用代码模板1——基础算法快速排序算法模板 —— 模板题 AcWing 785. 快速排序123456789101112void quick_sort(int q[], int l, int r){if (l >= r) return;int i = l - 1, j = r + 1, x = q[l + r >> 1];while (i < j){do i ++ ; while (q[i] < x);do j -- ; while (q[j] > x);if (i < j) swap(q[i], q[j]);}quick_sort(q, l, j), quick_sort(q, j + 1, r);}
归并排序算法模板 —— 模板题 AcWing 787. 归并排序1234567891011121314void merge_sort(int q[], int l, int r){if (l >= r) return;int mid = l + r >> 1;merge_sor ...
数算作业代码汇总
多项式的加法和乘法计算123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199 ...
C语言常用算法模板
图最小生成树123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596#include <stdio.h>#define MAXE 100#define MAXV 100typedef struct{ int vex1; //边的起始顶点 int vex2; //边的终止顶点 int weight; //边的权值}Edge;void kruskal(Edge E[],int n,int e){ int i,j,m1,m2,sn1,sn2,k,sum=0; int vset[n+1]; for(i=1;i<=n;i++ ...
C语言各种排序算法
冒泡排序12345678910111213void BubbleSort(int *arr, int size) { int i, j, tmp; for (i = 0; i < size - 1; i++) { for (j = 0; j < size - i - 1; j++) { if (arr[j] > arr[j+1]) { tmp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = tmp; } } } }
选择排序12345678910111213141516void SelectionSort(int *arr, int size){ int i, j, k, tmp; for (i = 0; i < ...