最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

LaTeX 專題:tikz-feynman繪制費曼圖

2023-04-28 12:53 作者:湮滅的末影狐  | 我要投稿

%% 好早以前,我做過一點簡短的 LaTeX?簡明入門經(jīng)驗分享。

%% 現(xiàn)在正好也是在學(xué)習量子場論,對費曼圖有了更多的理解,也想做一個 LaTeX 繪制費曼圖的教程。

%% Tikz 是 LaTeX 中用于畫圖的宏包,功能強大。其中的 tikz-feynman 是可以用于繪制各種費曼圖的強大工具。

%% 讀者如果需要任何資料、源碼,可以聯(lián)系作者主頁的郵箱或動態(tài)頁置頂?shù)腝群。

基礎(chǔ)知識儲備

在開始之前,我想可以不妨假設(shè)讀者已經(jīng)具有一定的粒子物理的基礎(chǔ)知識,否則你應(yīng)該用不著這篇專欄。

也就是說,讀者已經(jīng)熟悉費米子、膠子、矢量玻色子、標量粒子等在費曼圖中對應(yīng)的線型,熟悉頂點、外腿、傳播子、樹圖、圈圖等概念,熟悉用箭頭表示電荷的流動方向和區(qū)分正反粒子的規(guī)則。

如果對這些不熟悉,可以考慮學(xué)習格里菲斯的粒子物理導(dǎo)論。

畫圖規(guī)則

然后,我們可以開始講費曼圖的具體畫法了。

我們將以幾個簡單的案例來說明。

1 e+e- → μ+μ- 散射

代碼

\feynmandiagram [horizontal=a to b] {
i1 [particle=\(e^{-}\)] -- [fermion] a -- [fermion] i2 [particle=\(e^{+}\)],
a -- [photon, edge label=\(\gamma\), momentum'=\(k\)] b,
f1 [particle=\(\mu^{+}\)] -- [fermion] b -- [fermion] f2 [particle=\(\mu^{-}\)],
};

成品圖

正負電子到μ子散射

規(guī)則解釋:

我已經(jīng)在生成的圖上標記出了各個頂點在代碼中對應(yīng)的字母。

第一行的 horizongtal 設(shè)置了ab兩節(jié)點以a左b右的形式固定為水平方向。這一設(shè)置同時標定了接下來所有外腿、傳播子繪制的正方向。如果你需要一個豎起來的圖,也可以指定為vertical。

(不過需要注意,這未必表示費曼圖的時間流向。)

那么剩下的部分對照代碼和圖就比較好理解了,程序會自動按從上往下,從左到右的規(guī)則,圍繞之前聲明固定水平的節(jié)點ab繪制你所指定的線。

(同時也可以注意到繪制兩邊外腿時的正方向就是按代碼各個節(jié)點順序,比如正電子本應(yīng)是anti-fermion,但此時的繪制方向是a→i2,是順著箭頭的方向,所以代碼中仍是fermion而非anti-fermion)



2 更多種類的粒子

代碼

\feynmandiagram [horizontal=a to b] {
i1 [particle=\(\tilde W\)] -- [plain, boson] a -- [anti fermion] i2 [particle=\(q\)],
a -- [charged scalar, edge label=\(\tilde q\)] b,
f1 [particle=\(\tilde g\)] -- [plain, gluon] b -- [fermion] [particle=\(q\)],
};

成品圖

費米子和矢量玻色子作用,得到膠子和費米子

這個例子主要是展示更多線型,大家可以對照代碼學(xué)習。

3 交換末態(tài)粒子形成的交叉線

代碼

\begin{tikzpicture}
\begin{feynman}
\diagram [vertical'=a to b] {
i1 [particle=\(e^{-}\)]
-- [fermion] a
-- [draw=none] f1 [particle=\(e^{+}\)],
a -- [photon, edge label'=\(p\)] b,
i2 [particle=\(e^{+}\)]
-- [anti fermion] b
-- [draw=none] f2 [particle=\(e^{-}\)],
};
\diagram* {
(a) -- [fermion] (f2),
(b) -- [anti fermion] (f1),
};
\end{feynman}
\end{tikzpicture}

成品圖

不一樣的末態(tài)

有的圖,交換兩個末態(tài)粒子和原來的圖不是等價的,這種圖需要用這種交叉線表示。不過正常語法畫樹圖,程序默認畫的是不交叉的,所以只能用這個案例的方式,將兩個子圖疊加,第一個圖在a→f1和b→f2間不畫任何線,但起到固定f1f2的作用,再通過第二個圖畫出交叉線。

需要強調(diào)的一點是,除了被聲明為horizontal或vertical,用來固定整個圖方向的兩個節(jié)點,其他外腿節(jié)點叫什么名字是無關(guān)緊要的,程序只會根據(jù)周圍的環(huán)境設(shè)置節(jié)點的位置。雖然上面幾個案例都是左邊i1i2右邊f(xié)1f2,但是如果我想畫一個時間由下往上的圖,我想把下面叫i1i2(initial)上面叫f1f2(final)也是完全可以的,畫出來的圖也是一樣的。所以,單純將一個普通的圖的代碼交換f1f2的位置也是沒法畫出這交叉線的,程序會自動把f2調(diào)整到上面去。


那么以上已經(jīng)通過一些案例介紹了tikz繪制費曼圖的大部分基本規(guī)則。更多復(fù)雜圖的畫法,如單圈,多圈圖等等,讀者可以查閱tikz-feynman的官方文檔,里面也有很多案例和教程。


一個bug

講完畫圖規(guī)則,現(xiàn)在是否可以實操一下?

很可惜,還不行,筆者在自學(xué)這個宏包用法的時候,遇到了一些很棘手的bug. 具體來說,

就是我照抄?tikz-feynman 的官方文檔給出的示例代碼,得到的費曼圖時間方向和一些其他標記(如傳播子的動量)的方向會全部反了。

出bug的效果(左)實際該有的效果(右)

該費曼圖的代碼

\feynmandiagram [large, vertical=e to f] {
a -- [fermion] b -- [photon, momentum=\(k\)] c -- [fermion] d,
b -- [fermion, momentum'=\(p_{1}\)] e -- [fermion, momentum'=\(p_{2}\)] c,
e -- [gluon] f,
h -- [fermion] f -- [fermion] i;
};

筆者在過去的很長一段時間里,斷斷續(xù)續(xù)地試圖解決這個問題。


筆者曾在知乎提出相關(guān)問題:

為什么我使用 LaTeX 的 Tikz-feynman 繪制的費曼圖左右和內(nèi)外是反的? - 知乎

https://www.zhihu.com/question/540048369

經(jīng)過知友提醒,也在 github 找到有相同問題的網(wǎng)友。筆者也前往 github 詢問關(guān)于該 bug 是否有任何進展。

https://github.com/JP-Ellis/tikz-feynman/issues/73#issuecomment-1170055409

Tikz-feynman 包的作者 JP-Ellis?在2022年7月也親自回復(fù)了筆者等人的問題:

作者回復(fù)

簡單來說,tikz-feynman 是依賴 LuaLaTeX 的,而自從 texlive2019 開始,似乎由于 Lua 的一些更新,導(dǎo)致了整個圖反掉了。要解決這個問題很可能要自己手動調(diào)整一些 Lua 的源碼。目前來看短時間內(nèi)官方并沒有修復(fù)它的意思。


筆者才疏學(xué)淺,Lua 一點不懂,所以很遺憾,以筆者的檢索能力,目前為止未能找到簡明有效的解決方案。

然而不要忘記使用?LaTeX 的理念是方便自己,為了解決一個bug浪費太多時間事實上違背了我們的初衷。


所以對付這個bug的方法,筆者決定采納的是知乎網(wǎng)友慕子的一個建議:

還有一個辦法,如果需要畫的費曼圖不太多,可以在 overleaf 上的 texlive 2018 畫,配合 standalone 文檔類自動裁剪頁面大小,然后在本地 texlive 2022 的項目里以圖片形式插入。


編譯方法

為了繞開上面提到的這個bug,建議的方法是使用 Overleaf 上的舊版本,即 texlive 2018.

Overleaf 界面

圖中畫圈部分的設(shè)置不能搞錯,使用的編譯器是LuaLateX,texlive 版本用 2018。在編輯界面點左上角的menu就可以調(diào)出這些設(shè)置。

筆者不建議將自己的本地環(huán)境倒退回2018版,因為各種各樣新的模板對以前版本的 LaTeX 未必能兼容。我們將使用 standalone 格式將繪制的費曼圖裁剪為單獨的pdf格式矢量圖,然后下載下來在本地環(huán)境以圖片形式插入。

standalone 的費曼圖

standalone的用法非常簡單,我把代碼給你你就知道什么意思了。這樣畫出的費曼圖就是單獨地裁出的一個圖片,下載下來就可以作為圖片插入文章了。

\documentclass{standalone}
\usepackage{tikz}
\usepackage[compat=1.1.0]{tikz-feynman}

\begin{document}
\feynmandiagram [費曼圖的一些參數(shù)] {
你的費曼圖
};
\end{document}

這就是我學(xué)習用LaTeX作費曼圖的一點點經(jīng)驗。

LaTeX 專題:tikz-feynman繪制費曼圖的評論 (共 條)

分享到微博請遵守國家法律
读书| 牡丹江市| 华亭县| 思茅市| 舞阳县| 大兴区| 安宁市| 盐城市| 青铜峡市| 固安县| 高要市| 平陆县| 南皮县| 泗水县| 鞍山市| 资兴市| 台南县| 丹寨县| 喀喇沁旗| 庆云县| 油尖旺区| 茌平县| 东方市| 县级市| 吉安县| 安陆市| 得荣县| 潢川县| 阿克苏市| 略阳县| 修文县| 灯塔市| 中西区| 吕梁市| 乌拉特中旗| 泾川县| 紫云| 安福县| 辉南县| 上杭县| 宜宾县|