Perhitungan Lattice QCD pada Energi Ikat Hadronik · di dunia ini (kecuali gravitasi), penelitian...
Transcript of Perhitungan Lattice QCD pada Energi Ikat Hadronik · di dunia ini (kecuali gravitasi), penelitian...
Perhitungan Lattice QCD pada Energi IkatHadronik Λ
Nowo Riveli
0300020499
Universitas Indonesia
Fakultas Matematika dan Ilmu Pengetahuan Alam
Jurusan Fisika
Depok
2004
Perhitungan Lattice QCD pada Energi IkatHadronik Λ
Skripsi
Diajukan sebagai salah satu syarat memperoleh gelar Sarjana Sains
Nowo Riveli
0300020499
Universitas Indonesia
Fakultas Matematika dan Ilmu Pengetahuan Alam
Jurusan Fisika
Depok
2004
Halaman Persetujuan
Skripsi : Perhitungan Lattice QCD pada Energi Ikat B-Meson
Nama : Nowo Riveli
NPM : 0300020499
Skripsi ini telah diperiksa dan disetujui
Depok, 20 Oktober 2004
Mengesahkan
Pembimbing I Pembimbing II
Dr. LT Handoko Dr. Terry Mart
Penguji I Penguji II
Dr. Anto Sulaksono Dr. M. Hikam
i
Kata Pengantar
Lattice QCD adalah suatu teknik yang menjanjikan sebagai alternatif bagi teori
QCD kontinu ketika tidak dapat digunakan untuk mempelajari massa quark.
Meskipun sampai saat ini wilayah penelitiannya cukup sempit, yaitu seputar B-
meson, lattice QCD tetap menarik dan mungkin bisa diaplikasikan secara lebih lu-
as. Bidang ini menarik bagi penulis karena menyangkut dua bidang yang diminati
yaitu fisika partikel dan komputasi. Penulis pun memutuskan untuk mengambil
bidang ini sebagai topik tugas akhir.
Penulis mengucapkan terima kasih pada Pak L. T. Handoko selaku pembimb-
ing, yang telah memperkenalkan topik ini pada penulis, dan membimbing penulis
terutama pada pemahaman-pemahaman teori dasar fisika partikel dan lattice. Ter-
ima kasih juga pada Pak Terry Mart dan Pak Anto Sulaksono, yang banyak men-
dukung dan membantu penulis dalam menyelesaikan tugas akhir ini. Penulis ju-
ga mengucapkan terima kasih pada Pak Chairul Bachri dan Mas Suharyo, yang
bersedia menjadi teman diskusi via e-mail, dan sumber paper gratis bagi penulis.
Masih banyak pihak yang ingin kami ucapkan terima kasih, namun tidak dapat
disebutkan satu persatu.
Depok,
Nowo Riveli
ii
Abstract
We have used the simulation in Lattice QCD to calculate the binding energy of
hadron Λ. Hadronic binding energy Λ are defined non-perturbatively trough the
Lattice HQET lagrangian. The simulation works in small lattice volume, due to
limited performance of the author’s computer. The result are included in this final
assignment, and on the next step will be used to gain the heavy quark mass by
matching with MS renormalisation.
Abstrak
Kami telah menghitung energi ikat hadronik menggunakan simulasi Lattice QCD
Λ. Energi ikat hadronik Λ didefinisikan secara non-perturbatif dengan lagrangian
Lattice HQET. Simulasi dijalankan dengan volume lattice yang kecil, karena keter-
batasan performa komputer yang digunakan. Hasil perhitungan dicantumkan di
tugas akhir ini, dan akan digunakan untuk mendapatkan massa quark berat melalui
matching dengan renormalisasi MS .
iii
Daftar Isi
Halaman Persetujuan i
Kata Pengantar ii
Abstrak iii
Daftar Isi iv
Daftar Gambar v
Daftar Tabel vi
1 Pendahuluan 1
2 Lattice QCD 5
2.1 Path Integral Mekanika Kuantum . . . . . . . . . . . . . . . . . . . 5
2.2 Teori Medan Kuantum dengan Integral Fungsional . . . . . . . . . . 8
2.3 Diskritisasi Lattice . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.4 Medan Gauge dalam Lattice . . . . . . . . . . . . . . . . . . . . . . 11
2.5 Landau gauge fixing . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.6 Fermion pada Lattice . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.6.1 Variabel Grassmann . . . . . . . . . . . . . . . . . . . . . . 14
2.6.2 Aksi Fermionik pada Lattice . . . . . . . . . . . . . . . . . . 15
2.7 QCD pada Lattice . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
iv
3 Energi Ikat Hadronik dalam Lattice 18
3.1 Definisi Λ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.2 Penentuan nilai residual mass δm . . . . . . . . . . . . . . . . . . . 21
4 Implementasi Perhitungan Numerik dan Hasil Peritungan Λ 23
4.1 Metode Numerik : Integrasi Monte Carlo . . . . . . . . . . . . . . . 23
4.2 Parameter Simulasi . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.3 Perhitungan δm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.4 Perhitungan Λ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.5 Perbandingan hasil Λ . . . . . . . . . . . . . . . . . . . . . . . . . . 28
5 Penutup 30
A Pemrograman 31
A.1 Membaca data archive konfigurasi gauge, dan menghitung propagator 31
A.2 Menghitung massa residu . . . . . . . . . . . . . . . . . . . . . . . . 43
Bibliografi 45
v
Daftar Gambar
2.1 Interval waktu diskrit . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 Lintasan suatu partikel . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3 Lattice 3 dimensi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.4 Link antara x dan y . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.5 Sebuah plaquette . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.1 Plot massa efektif yang berasal dari perhitungan propagator ter-
improve, untuk dua macam simulasi. . . . . . . . . . . . . . . . . . 26
vi
Daftar Tabel
4.1 Parameter simulasi yang dilakukan . . . . . . . . . . . . . . . . . . 25
4.2 Λ yang didapat di perhitungan sebelumnya . . . . . . . . . . . . . . 28
vii
Bab 1
Pendahuluan
QCD adalah teori yang menerangkan interaksi kuat, yaitu yang mempelajari di-
namika quark. Teori ini adalah teori gauge dengan representasi grup SU(3), yang
memperkenalkan tiga macam coulor sebagai derajat kebabasan dari quark, dan
delapan vektor boson (yaitu gluon) yang diekspansikan dalam suatu basis dari
delapan matriks Gell-Mann.
quark : qfi (x), i = 1, 2, 3, f = 1, . . . , Nf (1.1)
gluon : Aaµ(x), a = 1, . . . , 8. (1.2)
i dan a adalah indeks untuk coulor, f adalah indeks flavour dari quark, yaitu u, d,
s,. . ., Nf , dan µ adalah indeks Lorentz menggambarkan arah vektor ruang-waktu.
QCD mempunyai sifat yang disebut asymtotic freedom. Yaitu konstanta ko-
pling dari interaksi bergantung pada skala energi yang digunakan dalam eksperi-
men. Hubungan konstanta kopling running dengan skala energi ditentukan dengan
menggunakan persamaan grup renormalisasi, yang menghasilkan
g2QCD(Q2) =
1
β0 log(Q2/Λ2)+ . . . (1.3)
dengan Λ atau sering ditulis ΛQCD ≈ 1 GeV, dan β0 ≥ 0.
1
Penyelesaian analitis yang mungkin untuk menghitung suatu besaran berdasarkan
QCD adalah dengan metode perturbasi, dengan ekspansi terhadap kopling g. Dari
persamaan konstanta running di atas, tampak bahwa nilai konstanta running g
akan berkurang menurut kenaikan energi. Pada skala energi tinggi, nilai g yang
kecil memungkinkan teori QCD dikerjakan dengan metode perturbasi. Akan tetapi
meskipun dapat diekspansi tidak semua bessaran dapat diselesaikan dengan per-
turbasi, contohnya adalah massa quark berat (dijelaskan di bab.3). Pada saat
teori perturbasi tidak dapat digunakan, maka dibutuhkan suatu teori yang dapat
menghitung suatu besaran melalui first principal, yaitu tanpa melakukan ekspansi
teori, salah satu alternatif adalah dengan lattice QCD.
Ide dasar lattice QCD adalah menyusun teori QCD dalam suatu ruang waktu
yang diskrit, sehingga dimungkinkan perhitungan secara numerik. Penyusunan
formulasi lattice diawali dengan representasi path integral [1] dari suatu besaran
fisis. Representasi path integral akan menghasilkan besaran tersebut dalam ben-
tuk integrasi fungsional. Lattice adalah suatu bentuk regularisasi dari integral
fungsional ini, dengan jarak kisi a sebagai regulator. Dalam teori QCD kontinu
faktor regulator adalah massa kopling µ. Salah satu tahap perhitungan lattice
adalah menyesuaikan hasil kalkulasi dengan data eksperimen, untuk hal ini perlu
dilakukan perbandingan antara a dan µ.
Integrasi multidimensi pada integrasi fungsional disimulasikan dalam komputer
dengan algoritma Monte Carlo. Ukuran kisi lattice biasanya terdiri dari 48 kisi
temporal dan 24 kisi spasial. Karena itu dimensi integrasi adalah 48 × 323 =
663552, yang merupakan integral yang sangat besar. Pusat-pusat penelitian sim-
ulasi lattice di dunia menggunakan sarana komputasi pararel untuk mendapatkan
performa komputer yang sesuai dengan kebutuhan simulasi yang besar tersebut.
Pada tugas akhir ini yang dilakukan penulis adalah mencoba memanfaatkan sarana
2
yang sederhana untuk melakukan simulasi lattice ini. Hal ini pernah digagas oleh
G. P. Lepage[2]. Simulasi dicoba dilakukan dalam PC (RAM 256 Mb, processor
1,7 GHz), juga dalam komputer alpha dengan Xeon dual prosessor (RAM 1 Gb)
yang terdapat dalam departemen tempat penulis mengambil studinya.
QCD adalah bagian dari Standard Model yang mencakup semua interaksi dasar
di dunia ini (kecuali gravitasi), penelitian untuk mencari massa quark sangatlah
penting dalam rangka melengkapi teori tersebut, terutama dalam melengkapi el-
emen matriks CKM. Berdasarkan massanya quark dibagi menjadi quark-ringan,
dengan massa yang lebih kecil dari ΛQCD (quark u, d, dan s), dan quark-berat (b,
t).
Tujuan tugas akhir ini adalah untuk menghitung energi ikat hadronik, sebagai
langkah awal untuk mendapatkan massa quark. Dalam hadron yang mengandung
quark berat, didefinisikan suatu besaran energi ikat, yang merupakan selisih massa
hadron dengan massa quark berat. Massa hadron dapat diperoleh dalam eksperi-
men, akan tetapi tidak demikian dengan massa quark, karena quark tidak pernah
ditemukan dalam keadaan bebas. Tugas akhir ini menghitung nilai energi ikat
Λ dengan lattice QCD. Untuk mendapatkan massa quark, energi ikat, harus di-
lakukan matching dengan suatu skema renormalisai. Hal tersebut tidak dilakukan
disini, jadi tugas akhir ini hanya terfokus pada perhitungan Λ, karena kami hanya
menitikberatkan penggunaan teori lattice QCD dalam menghitung suatu besaran.
Penelitian untuk menghitung besaran yang sama pernah dilakukan sebelumnya
juga dengan lattice QCD[3,4]. Nantinya akan dibandingkan hasil yang didapat di
tugas akhir ini dengan hasil yang lain. Motivasi pengerjaan tugas akhir ini adalah
mencoba melakukan perhitungan lattice QCD, dengan tingkat akurasi yang se-
maksimal mungkin. Perbandingan hasil perhitungan dengan hasil yang didapat
3
sebelumnya akan dijadikan acuan dalam menentukan apakah teori lattice QCD
benar-benar dapat digunakan untuk menghitung suatu besaran dalam QCD, dan
apakah simulasi yang dilakukan penulis dilakukan dengan benar dan dapat diter-
ima.
Berikut adalah sistematika penulisan dalam tugas akhir ini,
• penjelasan teori lattice QCD di bab 2,
• penjelasan tentang permasalahan massa quark berat, dan definisi energi ikat
hadronik, di bab 3,
• prinsip perhitungan numerik dan hasil yang didapat di bab 4,
• penutup berupa kesimpulan dan saran di bab 5.
4
Bab 2
Lattice QCD
Sebelum masuk ke masalah utama yaitu defini energi ikat hadronik Λ, di bab ini
akan dijabarkan terlebih dahulu teori lattice QCD. Isi sub-bab ini menggunakan
buku dari H. J. Rothe[5] dan beberapa lecture note[6,7] sebagai referensi.
Lattice QCD adalah suatu teknik non-perturbativ yang menempatkan elemen-
elemen QCD dalam ruang-waktu yang diskrit. Untuk itu dibuat representasi quark
dan gluon dalam dunia yang diskrit tersebut. Formulasi yang diskrit sangat mudah
didapatkan dari formulasi path integral untuk mekanika kuantum yang diusulkan
Feynman. Selanjutnya dalam bab ini akan dibahas formulasi path integral, dan
formulasi QCD dalam kisi ruang-waktu diskrit, yang pertama kali disusun oleh K.
Wilson di tahun 1974 [8].
2.1 Path Integral Mekanika Kuantum
Seperti pada kebanyakan referensi mengenai lattice QCD, path integral akan ter-
lebih dahulu dijelaskan untuk kasus mekanika kuantum, dalam ruang satu dimensi.
5
Gambar 2.1: Interval waktu diskrit
Dengan hamiltonian yang berbentuk
H =p2
2m+ V (x) ≡ H0 + V, (2.1)
amplitudo transisi adalah
〈x′, t′|x, t〉 = 〈x′|e−iH(t′−t)|x〉 (2.2)
=
∫dx1〈x′|e−iH(T−∆t)|x1〉〈x1|e−iH∆t|x〉 (2.3)
yang didapat setelah memasukkan ∆t = (t1 − t) ,T = (t′ − t), dan
1 =
∫dx1 |x1〉〈x1|. (2.4)
Membagi T menjadi n bagian yang sama, T = n∆t, seperti pada gb.2.1, kita akan
dapatkan
〈x′, t′|x, t〉 =∫dx1 . . . dxn−1〈x′|e−iH∆t|xn−1〉〈xn−1|e−iH∆t|xn−2〉 . . . 〈x1|e−iH∆t|x〉. (2.5)
Untuk n yang besar, ∆t menjadi kecil. Selanjutnya dengan menggunakan trans-
formasi Fourier, untuk semua matrix elemen, amplitudo akan menjadi
〈x′|e−iHT |x〉 =
1(
2πi∆tm
)n/2dx1 . . . dxn−1 exp i
n−1∑
k=0
∆t
{m
2
(xk+1 − xk
∆t
)2
− V (xk)
}. (2.6)
6
Gambar 2.2: Lintasan suatu partikel
Pada limit n→∞ kita akan mendapatkan eksponensial persamaan di atas menjadi
bentuk aksi klasik
n−1∑
k=0
∆t
{m
2
(xk+1 − xk
∆t
)2
− V (xk)
}
−→∫ T
0
dt
{m
2
(dx
dt
)2
− V (x)
}=
∫ T
0
dtL(x, x) ≡ S (2.7)
untuk lintasan x(t) dari x ke x′ dengan xk = x(k∆t), digambarkan di gb.2.2
Integrasi terhadap xk dinterprestasikan sebagai integrasi terhadap seluruh ke-
mungkinan lintasan x(t) yang dapat dibentuk. Untuk itu kita gunakan notasi
(m
2πi∆t
)n/2
dx1 . . . dxn−1 → const.∏
t
dx(t) ≡ Dx (2.8)
sehingga kita dapatkan formulasi path integral untuk amplitudo mekanika kuan-
tum satu dimensi
〈x′|e−iHT |x〉 =
∫DxeiS (2.9)
7
2.2 Teori Medan Kuantum dengan Integral Fung-
sional
Formulasi path integral untuk mekanika kuantum di atas selanjutnya akan digu-
nakan untuk menentukan formulasi path integral untuk teori medan kuantum.
Pada teori medan besaran yang sangat penting adalah vacuum expectation value,
yaitu fungsi Green
〈0|φ(x1)φ(x2) . . . φ(xn)|0〉, t1 > t2 > · · · > tn (2.10)
dari medan skalar φ(~x, t) dalam ruang-waktu 4-vector.
Sebelum membahas fungsi Green lebih jauh, kita akan mentranslasikan konsep-
konsep di mekanika kuantum ke teori medan berdasarkan analogi. Dalam teori
medan, medan skalar menggambarkan partikel itu sendiri, sehingga xi(t) di mekani-
ka kuantum menjadi φ(~x, t), translasi selanjutnya adalah
xi ←→ φ(~x, t)
i ←→ ~x∏
t,i
dxi(t) ←→∏
t,~x
dφ(~x, t) ≡ Dφ
S∫dtL ←→ S =
∫dtd3xL,
L adalah densitas lagrangian yang digunakan dalam teori medan.
Dengan menganalogikan pada kasus mekanika kuantum, kita dapatkan formulasi
fungsi Green, dengan ekspresi yang sering dikenal sebagai integral fungsional:
〈0|φ(x1)φ(x2) . . . φ(xn)|0〉 =1
Z
∫Dφφ(x1)φ(x2) . . . φ(xn)eiS (2.11)
dengan
Z =
∫DφeiS . (2.12)
8
Eksponensial imajiner pada intgrasi di atas menimbulkan masalah konvergensi
karena fungsi integral akan berosilasi. Hal ini diatasi dengan mentransformasikan
waktu real (ruang Wincowsky) ke waktu imajiner (ruang Euclid), dengan rotasi
Wick, yaitu
t = −iτ. (2.13)
Fungsi Green setelah rotasi Wick akan memiliki eksponensial yang positif
GE(x1, . . . , xn) =1
Z
∫Dφφ(x1) . . . φ(xn)e−SE (2.14)
dengan
Z =
∫DφeiSE . (2.15)
Besaran dalam ruang Euclid ini yang akan digunakan dalam setiap perhitungan
integal fungsional fungsi medan, yang dihasilkan dari formulasi path integral.
2.3 Diskritisasi Lattice
Setelah mendapatkan formulasi path integral untuk teori medan, yang berbentuk
integral fungsional, langkah selanjtnya dalam lattice QCD adalah mendiskritkan-
nya. Ruang-waktu 4 dimensi didiskritkan dengan membentuk lattice hiperkubik,
sehingga posisi ruang-waktu terlokalisasi hanya di titik-titik pada lattice,
xµ = anµ, (2.16)
lihat gb.2.3.
Derivatif diganti dengan selisih hingga, integral diganti dengan sumasi,
dµφ −→ ∆µφ(x) ≡ 1
a(φ(x+ aµ)− φ(x)), (2.17)
∫d4x −→
∑
x
a4. (2.18)
9
Gambar 2.3: Lattice 3 dimensi
Diskritisasi ruang-waktu menghasilkan konsekuensi adanya regularisasi dari in-
tegral fungsional, dengan jarak lattice a sebagai regulator. Hal ini dapat dilihat
dengan melakukan transformasi Fourier medan skalar ke ruang momentum
φ(p) =∑
x
a4e−ipxφ(x). (2.19)
Fungsi yang telah di transformasi Fourier-kan adalah fungsi yang periodik dalam
ruang momentum, sehingga kita bisa dapatkan
pµ∼= pµ +
2π
a(2.20)
Transformsi Fourier invers akan menghasilkan
φ(x) =
∫ π/a
−π/a
d4
(2π)4eipxφ(p) (2.21)
dan kita dapatkan suatu nilai cutoff ultraviolet
|pµ| ≤π
a. (2.22)
Jadi dapat terlihat bahwa teori medan dalam ruang-waktu yang diskrit, yaitu lat-
tice, pada dasarnya telah teregularisasi.
10
Formulasi dalam dunia yang diskrit harus dapat kembali ke dunia kontinu den-
gan bentuk yang sama. Hal ini menjadi syarat yang harus selalu dipenuhi dalam
membuat formulasi diskrit, yang bisa non-trivial.
2.4 Medan Gauge dalam Lattice
Dalam teori medan, berlaku invariansi lagrangian terhadap transformasi gauge,
yaitu
φ(x)→ Λ(x)φ(x), Λ(x) ∈ SU(N) (2.23)
dalam QCD transformasi dilakukan dengan grup SU(3). Derivatif dalam lagrangian
harus diubah menjadi derivatif kovarian, yaitu
Dµφ(x) = (δµ − ig0Aaµ(x)Ta)φ(x), (2.24)
dimana T a adalah generator grup, yang untuk grup SU(3) adalah delapan matriks
Gell-Mann, Aaµ(x) adalah medan gauge. Derivatif kovarian ini invarian terhadap
transformasi gauge
Dµφ(x)→ Λ(x)Dµφ(x). (2.25)
Besaran yang merupakan produk dari medan-medan di titik yang berbeda dalam
latice, tidak invarian. Untuk itu kita membutuhkan suatu matriks U(x, y) ∈SU(N) yang bertransformasi menurut U(x, y) → Λ(x)U(x, y)Λ−1(y), sehingga
φ(x)U(x, y)φ(y) akan invarian. Matriks U tersebut dapat dibuat dari suatu lin-
tasan dari titik x hingga y, sehingga dia adalah integral lintasan dari medan gauge
Aaµ
U(x, y; C) ≡ P exp ig0
∫ y
x
Aaµ(z)Tadz
µ, (2.26)
U pada definisi di atas bertransformasi sesuai yang dibutuhkan, sehingga produk
dari dua medan di titik yang berbeda dapat invarian. U sering disebut dengan par-
allel transporter. Selanjutnya dalam lattice medan gauge akan direpresentasikan
11
Gambar 2.4: Link antara x dan y
Gambar 2.5: Sebuah plaquette
dalam besaran ini.
Di dalam lattice parallel transporter adalah lintasan penghubung dua titik ter-
dekat, disebut dengan link variables Link ini menggantikan medan gauge Aaµ untuk
setiap formulasi dalam lattice. Link bertransformasi sama seperti transformasi
parallel transporter di atas. Produk dari beberapa link, dalam lintasan tertutup,
akan invarian, besaran yang paling mendasar adalah plaquette yaitu loop terkecil
yang dibentuk empat buah link, seperti di gambar
Pµν ≡ Uµ(x)Uν(x + aµ)U−µ(x + aµ+ aν)U−ν(x+ aν) (2.27)
Plaquette ini digunakan oleh Wilson[8] untuk menyusun aksi Yang-Mills pada
12
lattice,
SgaugeE ≡ β
∑
x,µ,ν
[1− 1
3Re tr Pµν(x)
], (2.28)
Aksi yang diusulkan Wilson ini invarian dan real, dan pada limit kontinu akan
membentuk aksi Yang-Mills kontinu.
2.5 Landau gauge fixing
Medan gauge dalam lattice memiliki simetri dalam transformasi yang telah dije-
laskan di sub-bab sebelumnya. Sebuah medan yang merupakan hasil transformasi
tersebut dari medan lain, akan memiliki arti fisis yang sama. Sekumpulan medan
yang terhubung oleh transformasi tersebut, sehingga memiliki sifat fisis yang sama,
disebut orbit gauge. Identifikasi dari sebuah medan untuk setiap orbit gauge dise-
but dengan gauge fixing.
Salah satu metode gauge fixing yang sering digunakan adalah gauge Landau.
Dalam dunia kontinu, gauge Landau didefinisikan sebagai
∂ − µAµ = 0. (2.29)
Kondisi ini menunjukkan suatu konfigurasi hyperplane
Γ ≡ {A : ∂ · A = 0}. (2.30)
Hyperplane di atas memiliki lebih dari satu gauge orbit. Selanjutnya ditentukan
suatu wilayah dalam hyperplane tersebut, yaitu Λ ⊂ Γ, yang merupakan sekumpu-
lan nilai minimum dari fungsional
FA[g] =
∫d4x
∑
µ
Tr[Agµ(x)Ag
µ(x)], (2.31)
g adalah suatu transformasi SU(3).
13
Di dalam lattice gauge Landau didapatkan dengan memaksimalkan fungsional
FI [g] = CF
∑
x,µ
Re{Tr[g(x)Uµ(x)g†(x+ µ)]} (2.32)
dimana
CF =1
NdimNcV(2.33)
adalah konstanta renormalisasi, Ndim adalah dimensi ruang-waktu, Nc adalah di-
mensi grup gauge, dan V volume lattice. Seperti hanya pada dunia kontinu, kon-
figurasi yang memaksimalkan fungsional di pers() membentuk suatu wilayah Λ
yang memenuhi
Γ ≡ {U : ∂ · A(U) = 0}. (2.34)
Untuk mendapatkan nilai yang memiliki akurasi statistik yang baik, gauge fix-
ing harus digunakan dalam simulasi lattice.
2.6 Fermion pada Lattice
Setelah melihat bahwa medan gauge digambarkan sebagai link dalam lattice, se-
lanjutnya akan dibahas representasi fermion pada ruang-waktu diskrit.
2.6.1 Variabel Grassmann
Karena memenuhi statistik Dirac, fermion adalah variabel yang bersifat anti-
komut, sehingga termasuk dalam variabel Grassmann. Untuk itu operasi pada
fermion memenuhi operasi aljabar varaiabel Grassmann, atau aljabar Grassmann.
14
Beberapa aturan dalam aljabar Grassmann yang berlaku pada adalah
{ηi, ηj} = 0 (2.35)
{ηi, ηj} = 0 (2.36)
{ηi, ηj} = 0. (2.37)
Formulasi path integral dengan integrasi terhadap fermion dituliskan sebagai berikut,
〈0|A|0〉 = 1
Z
∫DψDψAe−SF , (2.38)
dengan SF adalah aksi fermionik. Untuk medan Dirac bebas aksi fermionik adalah
SF =
∫d4xψ(x)(γµδ
µ +m)ψ(x). (2.39)
Dengan memanfaatkan integrasi Grassmann integral fungsional daiatas dapat dis-
elesaikan dengan sederhana, dan menghasilkan
∫DψDψe
R
d4xΨ(x)QΨ(x) = detQ (2.40)
ini yang dikenal dengan determinan fermionik.
2.6.2 Aksi Fermionik pada Lattice
Aksi fermionik pada pers.(2.33) bila didiskritkan secara naif akan menjadi
SF =1
2
∑
x
∑
µ
ψ(x)(γµ∆µ +m)ψ(x) + h.c (2.41)
Dengan aksi diskrit tersebut akan didapatkan propagator dengan bentuk
∆(k) =−iσµγµ sin kµ +m
σµ sin k2µ +m2
(2.42)
yang memiliki 16 buah pole akibat sifat periodik pada penyebut. Hal ini tidak
sesuai dengan propagator pada limit kontinu yang mempunyai 1 buah pole, per-
masalahan ini disebut dengan fermion doubling. Untuk mengatasinya diperlukan
15
modifikasi pada aksi fermionik, yang dapat menghilangkan efek fermion doubling
ini.
Modifikasi pertama dilakukan oleh Wilson yang menambahkan suku Wilson
pada aksi di atas,
−a5 r
2
∑
x,µ
q(x)1
a2[Uµ(x)q(x + aµ)− 2q(x) + U−µ(x)q(x− aµ)] (2.43)
dengan 0 < r ≤ 1. Dengan penambahan suku ini, massa fermion akan diver-
gen bila a mendekati nol, dan fermion doubling tidak lagi ditemui. Akan tetapi,
aksi ini melanggar simetri chiral, sehingga tidak digunakan pada permasalahan-
permasalahan yang melibatkan simetri chiral. Alternatif lain meodifikasi aksi un-
tuk menghilangkan fermion doubling adalah aksi staggered. Dengan aksi ini,
setiap komponen fermion didistribusikan pada titik lattice yang berbeda, hal ini
akan menghasilkan 4 pole propagator dibanding dengan 16 yang ditemukan di ak-
si biasa. Pole tersebut dapat mewakili sebuah fermion, karena adalah komponen
yan tersebar dari sebuah fermion. Formulasi aksi staggered cukup rumit, sehinga
tidak dibahas lebih lanjut, selanjutnya dalam perhitungan tugas akhir ini, yang
digunakan adalah aksi Wilson.
2.7 QCD pada Lattice
QCD dirumuskan dalam lattice dengan menuliskan aksi total yang melibatkan aksi
fermionik SF dan aksi gauge SG
S = SF + SG. (2.44)
Sifat antikomutatif dari fermion tidak dapat diperhitungkan dalam perhitungan
komputer, sehingga integrasi fermionik dihitung dalam ekspresi seperti di pers.(2.34),
16
dan kita bekerja pada aksi efektif yang hanya melibatkan aksi bosonik
e−Seff (U) ≡ e−SG(U)� detQ(U). (2.45)
Perhitungan detQ biasanya sangat besar, sehingga dalam lattice biasa dilakukan
pendekatan quenched, yang menjadikan Q sebagai konstanta.
Secara garis besar pada bab ini telah dijabarkan formulasi QCD pada lattice,
dengan titik awal formulasi path integral. Di bab ini dapat disimpulkan perhitun-
gan suatu observable pada lattice dilakukan dengan integrasi fungsional, yaitu
〈A〉 =1
Z
∫ ∏dUAe−SW (2.46)
dengan aksi yang telah didefinisikan. Permasalahan selanjutnya adalah metode
numerik yang digunakan dalam perhitungan integral fungsional tersebut. Hal ini
akan dijabarkan di bab 4, sebelumnya di bab 3 akan dijabarkan besaran yang di-
hitung dalam tugas akhir ini yaitu energi ikat hadronik.
17
Bab 3
Energi Ikat Hadronik dalam
Lattice
Massa quark berat pada prinsipnya dapat diperoleh dari lagrangian QCD, kare-
na menurut sifat asymtotic freedom, massa quark berat memiliki konstanta ko-
pling yang kecil, sehingga dapat dilakukan teknik perturbasi. Akan tetapi, untuk
mengekstrak massa quark dari lagrangian QCD, terdapat suku-suku yang meli-
batkan propagator gluon, yang mengakibatkan divergensi. Karena itu disusun su-
atu teori khusus untuk quark berat yaitu Heavy Quark Effective Theory (HQET).
Dalam teori ini, operator-operator dalam QCD diekspansikan dalam suku-suku
operator-operator HQET
OQCD =∑
n,α
Cn,α(mQ/µ)
mnQ
OHQETn,α (µ), (3.1)
mQ adalah massa quark berat dan µ adalah skala renormalisasi. Tampak bahwa
besaran fisis dalam HQET dipelajari sebagai ekspansi terhadap invers dari massa
quark mQ.
Untuk menghilangkan suku-suku divergen dalam ekspansi di pers.(3.1), atau
disebut sebagai singularitas renormalon, maka harus dibuat suatu definisi baru
untuk operator-operator OHQETn,α , agar HQET bisa dikerjakan tidak hanya pada
18
suku-suku awal, dan koefisien fungsi Cn,α dapat dihitung dengan teori perturbasi.
Singularitas renormalon dalam ekspansi di atas dapat dihilangkan dengan reno-
malisasi berupa hard ultra-violet cut-off Λ. Namun dengan adanya hard cut-off Λ,
besaran dalam HQET akan divergen menurut pangkat dari Λ, sehingga walaupun
singularitas renormalon pada walnya telah dihilangkan, muncul lagi divergensi
baru dari hard cut-off Λ.
Karena dua permasalahan quark berat di atas, yaitu singularitas renormalon
dan divergensi pangkat, diusulkan suatu definisi non-perturbativ dari operator-
operator OHQETn,α , sehingga bebas dari dua permasalahan di atas[9]. Dengan defin-
isi yang bebas dari singularitas renormalon dan divergensi pangkat, akan dap-
at diekstrak suatu besaran yang memiliki makna fisis, dalam arti suatu besaran
yang independen terhadap skala renormalisasi, juga metode yang digunakan dalam
meregularisasi divergensi ultra-violet.
Dalam definisi non-pertrurbativ ini, parameter massa yang digunakan dalam
ekspansi dipilih berupa suatu ”massa pole yang disubtraksi”, msQ, dimana ambi-
guitas renormalon telah di subtraksi secara non-perturbativ. Untuk setiap hadron
yang mengandung quark berat didefinisikan parameter Λ ≡ mH−msQ, dimana mH
adalah massa hadron.
3.1 Definisi Λ
Di sub-bab ini akan dibahas usulan definisi Λ menurut paper dari G. Martinelli
dan C. T. Sachradja[9]. Untuk mendapatkan definisi yang non-perturbatif dari Λ,
kita gunakan lagrangian HQET dalam formulasi lattice,
L =1
1 + aδm
(h(x)D4h(x) + δmh(x)h(x)
). (3.2)
19
Pandang suatu fungsi korelasi
C(t) =∑
~x
〈0|J(~x, t)J †(~0, 0)|0〉, (3.3)
Untuk waktu t yang cukup besar,
C(t)→ Z2 exp(−Et) (3.4)
dimana Z adalah konstan.
Eksponen E sebanding dengan Λ menurut definisi yang diusulkan di ref.[10],
yaitu
Λ =−∂〈0|HΓq|M〉〈0|HΓq|M〉 (3.5)
E bukanlah suatu besaran fisis karena menghasilkan divergensi pada perhitungan
perturbasi, karena itu Λ juga tidak mempunyai makna fisis. Divergensi tersebut
kemudian disubtraksi dengan menambahkan suatu residual mass (massa residu)
δmhh pada lagrangian pers.(3.2).
Massa residu pada lagrangian di atas dapat dipilih dalam beberapa cara. Salah
satu kemungkinan adalah dengan mempelajari sifat propagator quark pada waktu
yang besar, pada suatu fixed gauge,
−δm ≡ ln(1 + aδm)
a= lim
t→∞
1
aln
[Tr (S(~x, T + a))
Tr (S(~x, t))
], (3.6)
dengan asumsi rasio di atas memiliki nilai pada limit t yang besar. Persamaan di
atas bisa digambarkan sebagai kondisi dimana propagator quark pada waktu yang
besar tidak mempunyai perubahan yang eksponensial.
Maka untuk menghitung Λ bisa disimpulkan langkah-langkah sebagai berikut,
i.) Hitung massa residu δm, menurut definisi pers.(3.6). Besaran ini yang dihi-
tung dalam tugas akhir ini, dan penjelasannya dijabarkan di sub-bab 3.2.
20
ii.) Dapatkan nilai E . Kami akan menggunakan hasil perhitungan yang telah
dilakukan oleh kolaborasi APE[11] di tahun 1995.
iii.) Definisi fisis Λ adalah
Λ ≡ E − δm, (3.7)
dan massa pole quark yang tersubstraksi yang berkorespodensi dengan per-
samaan di atas adalah
mb ≡ mb − E + δm. (3.8)
3.2 Penentuan nilai residual mass δm
Seperti telah didefinisikan sebelumnya, untuk mendapatkan nilai δm harus di-
lakukan perhitungan terhadap propagator quark. Pada intinya, tugas akhir ini
berpusat pada perhitungan propagator quark. Bentuk propagator yang mungkin
adalah
S(x|0) = δ(x)θ(x4)P(x4|0), (3.9)
dimana P(x4|y4) adalah path ordered lattice yang sring disebut ”P-line”,
P(x4|y4) =
[x4
−y4
a
]∏
n=1
U †(x, x4 − na), x4 > y4, (3.10)
dimana P(x4|y4) = 1 untuk x4 = y4. Menurut ref.[3], diperlukan definisi propaga-
tor yang diimproved yaitu dengan
PIx(x4|y4 =
[1−
(1
3
)x4−y4+1]Px(x
4|y4). (3.11)
Untuk mengurangi kesalahan statistik, propagator dihitung dalam suatu fixed
gauge, yaitu gauge Landau, dengan persamaan
SH(t) =1
3V
∑
x
〈Tr[P(x4 = t|0)
]〉, (3.12)
21
dimana V adalah volume spasial dari lattice.
Untuk menentukan nilai δm kita harus menghitung massa efektif yang didefin-
isikan dengan
aδm(t) = − ln
(SH(t+ a)
SH(t)
). (3.13)
Setelah mendapatkan massa efektif untuk beberapa nilai t, selanjutnya digu-
nakan hasil perhitungan perturbasi 1-loop[9] untuk difitkan terhadap δm, yaitu
aδm(t) = aδm + γ lnt+ a
t. (3.14)
22
Bab 4
Implementasi Perhitungan
Numerik dan Hasil Peritungan Λ
4.1 Metode Numerik : Integrasi Monte Carlo
Untuk menghitung path integral dari besaran 〈Γ[x]〉, kita akan menggunakan prin-
sip integrasi Monte Carlo. Representasi path integral dari 〈Γ[x]〉 adalah
〈Γ[x]〉 =
∫DxΓ[x]e−S[x]
∫Dxe−S[x]
, (4.1)
persamaan di atas adalah suatu rata-rata berbobot (weighted average) dari seluruh
knfigurasi lintasan x yang mungkin, dengan berat exp(−S[x]). Dengan membangk-
itkan konfigurasi lintasan yang acak
xα ≡ xα0x
α1 . . . x
αN−1 α = 1, 2, . . . , Ncf (4.2)
dengan suatu cara sedemikian hingga tiap konfigurasi mempunyai probabilitas
P [xα] ∝ e−S[xα] (4.3)
maka nilai rata-rata Γ[x] tidak berbobot mendekati nilai rata-rata berbobot dari
lintasan ynag terdistribusi secara uniform
〈Γ[x]〉 ≈ Γ ≡ 1
Ncf
Ncf∑
α=1
Γ[xα]. (4.4)
23
Γ adalah estimasi Monte Carlo untuk besaran path integral 〈Γ[x]〉 yang dihitung
dalam lattice.
Nilai kesalahan dari estimasi Monte Carlo didapatkan dari nilai varian yaitu
σ2Γ =
1
Ncf
1
Ncf
Ncf∑
α=1
Γ2[x(α)]− Γ2
. (4.5)
Seperti yang telah dijelaskan, besaran pokok yang dihitung dalam lattice pa-
da tugas akhir ini adalah nilai propagator sebagai fungsi waktu, yaitu pada per-
samaan,
S(x|0) = δ(x)θ(x4)P(x4|0), (4.6)
Propagator pada fungsi di atas adalah fungsi dari konfigurasi link U dalam lat-
tice. Berdasarkan prinsip integrasi Monte Carlo, kita akan membentuk konfigurasi-
konfigurasi U , lalu menghitung besar propagator untuk setiap konfigurasi, lalu
mencari rata-ratanya.
4.2 Parameter Simulasi
Penyusunan tiap konfigurasi acak U harus memenuhi pers.(4.2), untuk itu tiap
konfigurasi dibangkitkan dengan algoritma tertentu yang dapat memenuhi kondisi
tersebut. Metode yang biasa digunakan adalah algoritma Metropolis dan algo-
ritma heat-bath. Pembentukan sebuah konfigurasi membutuhkan waktu perhi-
tungan komputer yang cukup lama, sedangkan untuk mendapatkan nilai estimasi
Monte Carlo dibutuhkan jumlah konfigurasi yang tidak sedikit. Penulis pernah
mencoba membentuk konfigurai dengan algoritma Metropolis, tetapi tidak dapat
diselesaikan karena masalah waktu, karena itu dalam tugas akhir ini digunakan
konfigurasi yang telah tersedia dan dapat diakses secara umum dari The Gauge
24
Tabel 4.1: Parameter simulasi yang dilakukan
simulasi volume β jumlah konfigurasi
set A 163 × 32 6.0 50
set B 163 × 32 5.8 50
Connection[12]. Konfigurasi yang diperoleh dari situs tersebut dibangun dengan
menggunakan suatu algoritma tertentu yaitu algoritma heat-bath.
Dalam perhitungan yang dilakukan, penulis menggunakan dua macam susunan
konfigurasi, yaitu setA dan setB, masing-masing dengan parameter-parameter
sebagai berikut,
Nilai kesalahan statistik adalah σ dalam pers.(4.5).
4.3 Perhitungan δm
Sebagai langkah awal dilakukan perhitungan propagator yang quark diimprove
seperti yang didefinisikan di pers.(3.9) hingga (3.11). Perhitungan dilakukan den-
gan dua macam parameter simulai pada tabel.4.1, setelah itu nilai residual mass di-
dapat dari hubungan di pers.(3.13). Berdasarkan perhitungan perturbasi 1-loop[9],
δm di fit dengan fungsi
aδm(t) = aδm+ γ ln
(t + a
t
), (4.7)
dimana γ dan δm adalah parameter-parameter fitting yang bebas. gb.1 menun-
jukkan hasil plot dan fitting fungsi pers.(4.7) untuk dua macam simulasi.
Nilai δm yang didapat adalah sebagai berikut
aδm = 0.36± 0.02± 0.01 pada β = 6.0 (4.8)
aδm = 0.39± 0.02± 0.01 pada β = 5.8 (4.9)
25
0 5 10 15
t/a0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
β = 6.0: δm = 0.36(2)β = 5.8: δm = 0.39(2)
a δm(t)
Gambar 4.1: Plot massa efektif yang berasal dari perhitungan propagator ter-
improve, untuk dua macam simulasi.
26
Nilai kesalahan statistik yang digunakan adalah kesalahan dari estimasi Monte
Carlo yaitu akar dari pers.(4.5). Sedangkan untuk kesalahan sistematis di ambil
kesalahan dari pendekatan fitting fungsi yang digunakan.
Seperti yang dikatakan, kami akan menggunakan E dari hasil kolaborasi APE.
Akan tetapi masing-masing δm di atas harus berkorespodensi dengan nilai E yang
dihitung dengan konfigurasi yang sama. Kolaborasi APE tidak melakukan perhi-
tungan E pada konfigurasi β = 5.8, karena itu kami hanya menggunakan nilai δm
pada β = 6.0 (pers.(4.8)).
Dengan melihat kecenderungan plot δm yang mirip, dan nilai δm yang cukup
dekat, kami berkesimpulan bahwa nilai δm independen terhadap parameter simu-
lasi yang digunakan. Sehingga penggunaan nilai δm hanya dari sebuah konfigurasi
dapat dilakukan.
4.4 Perhitungan Λ
Untuk mendapatkan nilai Λ kita gunakan
• δm dari pers.(4.8);
• nilai E dari kolaborasi APE[11], yaitu
aE = 0.52± 0.01 (4.10)
• nilai a yang berkorespodensi dengan beta yaitu
a−1 = 1.8± 0.2 GeV untuk β = 6.0 (4.11)
Maka kami mendapatkan
Λ = E − δm = 280± 40 MeV padaβ = 6.0 (4.12)
27
4.5 Perbandingan hasil Λ
Berikut adalah nilai Λ yang telah didapatkan sebelumnya dengan metode yang
sama,
Tabel 4.2: Λ yang didapat di perhitungan sebelumnya
sumber volume konfigurasi δm Λ
ref.[3] 183 × 64 210 0.521± 0.003± 0.010 180± 35 MeV
ref.[2] 243 × 40 500 0.526± 0.003± 0.006 170+30−20 MeV
TA ini 163 × 32 50 0.360± 0.020± 0.010 280± 40 MeV
Hal-hal yang dapat disimpulkan dari tabel perbandingan di atas antara lain,
• δm yang didapat di tugas akhir ini memilili akurasi hanya sampai dua angka
di belakang koma, sedangkan hasil-hasil yang lain mencapai akurasi tiga
angka di belakang koma. Kesalahan pada tugas akhir ini dihasilkan paling
banyak oleh kesalahan statistik. Hal ini berarti bahwa jumlah konfigurasi
dan ukuran volume yang digunakan penulis belum cukup untuk digunakan
dalam melakukan perhitungan. Jumlah konfigurasi jelas berpengaruh kare-
na kesalahan statistik berbanding mendekati 1/√N . Penulis tidak meng-
gunakan jumlah konfigurasi yang cukup banyak karena dibutuhkan waktu
yang cukup lama untuk men-download tiap konfigurasi dari situs The Gauge
Connection, dengan ukuran tiap konfigurasi yang cukup besar yaitu 24 Mb
untuk sebuah konfigurasi. 50 buah konfigurasi berarti membutuhkan space
sebesar 1,2 Gb. Pemilihan jumlah konfigurasi sebanyak 50 selain karena be-
sarnya ukuran konfigurasi, penulis juga merujuk pada perhitungan di ref.[3]
yang awalnya hanya menggunakan konfigurasi hanya sebanyak 30. Besarnya
kesalaha statistik tentunya menghasilkan akurasi yang sangat kecil, sehingga
28
nilai yang didapat pada tugas akhir ini membutuhkan banyak koreksi untuk
dapat diterima.
• Λ yang didapat di tugas akhir menghasilkan nilai yang cukup berbeda den-
gan dua hasil sebelumnya, dan juga memiliki nilai kesalahan yang cukup
besar. Kesalahan pada besaran ini juga adalah pengaruh kesalahan statis-
tik yang besar. Λ pada dua sumber sebelumnya didapat dari hasil bebera-
pa konfigurasi yang berbeda, sedangkan tugas akhir ini hanya menghitung
besaran pada satu macam konfigurasi yaitu pada β = 6.0. Sebelumnya
telah dijelaskan bahwa nilai δm independen dari konfigurasi yang digunakan,
meskipun memiliki perbedaan nilai. karena itu hasil yang menggabungkan
beberapa konfigurasi akan meningkatkan keakurasian.
• Dua hasil pertama dihitung dengan menggunakan konfigurasi yang sama,
karena keduanya berasal dari satu grup penelitian. Penggunaan konfigurasi
berbeda oleh penulis mungkin mempengaruhi perbedaan nilai hasil perhi-
tungan. Perbedaan metode dan algoritma dalam membangkitkan konfigurasi
mungkin menghasilkan konfigurasi gauge dengan karakteristik yang berbeda,
walaupun dibuat pada parameter β yang berarti a (jarak spasi) yang sama.
Demikianlah hasil yang didapat di tugas akhir ini. Meskipun menghasilkan
nilai yang cukup jauh dari hasil sebelumnya, kami berkesimpulan bahwa perhitun-
gan yang telah kami lakukan masih cukup bisa diterima. Hal ini antara lain dilihat
dari grafik plot yang memiliki tren yang sama dengan plot di ref.[4](tidak dita-
mpilkan disini), juga adanya kesalahan yng mungkin ditimbulkan dari penggunaan
konfigurasi yang berbeda.
29
Bab 5
Penutup
Mengingat kembali tujuan pengerjaan tugas akhir ini, yaitu mencoba menggu-
nakan lattice QCD untuk menghitung sauatu besaran dalam QCD. Untuk itu kami
memilih suatu besaran yang telah dihitung sebelumnya, dan membandingkan den-
gan hasil perhitungan yang kami lakukan. Hasil yang diperoleh memang cukup
jauh dari yang diharapkan, akan tetapi hal itu bisa dijelaskan dengan besarnya
sumber kesalahan seperti yang dijabarkan di bab sebelumnya. Sebagai sebuah
langkah awal, perhitungan yang dilakukan di tugas akhir bisa dilajutkan dengan
lebih menganalisa sumber-sumber kesalahan dan meminimalisasinya.
Karena kami terfokus pada penggunaan perhitungan lattice, maka kami hanya
memilih suatu besaran yang didefinisikan sebelumnya untuk dikerjakan di lattice.
Selain besaran yang dihitung di tugas akhir ini, lattice QCD bisa juga digunakan
untuk menghitung besaran-besaran lain seperti energi kinetik, walaupun sebagian
besar hanya berkisar di wilayah B-meson. Setelah diyakinkan perhitungan lattice
QCD telah dapat dilakukan, selanjutnya dapat dilakukan perhitungan untuk be-
saran yang menjadi perhatian fisika partikel yaitu massa quark.
30
Lampiran A
Pemrograman
A.1 Membaca data archive konfigurasi gauge, dan
menghitung propagator
/*===================================================================*//* Utility program to read and verify configs in QCD archive format *//* dimodifikasi untuk menghitung propagator *//* oleh Nowo Riveli (2004) *//*===================================================================*/
/* Version: 1.0 */
#define TOL 0.0000001 /* tolerance for floating point checks */#define BADPRINT 10 /* number of bad links to print out in full */#undef FORTRANORDER /* define to use Fortran ordering for U[18] */
/* Return values for our parsers */#define SUCCESS 0#define FAILURE -1
#include <stdio.h>#include <math.h>#include <strings.h>#include <stdlib.h>#include <limits.h>
/*================================================================*//* We may do arithmetic on this machine in a precision different *//* from the precision read in. Here is where we define the type. *//*================================================================*/typedef double REAL; /* type for doing internal arithmetic */
/*=============================================================*//* For checksums we want a 32 bit unsigned int, for which *//* which we define a type uint32_t, which may eventually */
31
/* become a C semi-standard. Here we just check if INT_MAX *//* is 2^31-1; if not, we assume we are on a T3E or equivalent, *//* where unsigned short is 4 bytes. *//*=============================================================*/#if (INT_MAX==2147483647)#define INTS_ARE_32BITtypedef unsigned int uint32_t;#else#undef INTS_ARE_32BITtypedef unsigned short uint32_t;#endif
struct QCDheader { /* Structure to hold header tokens */int ntoken;char **token;char **value;
};
struct site {REAL U[4][18];int neighbor[4];
};
/* Global variables */int big_end_p; /* true if our machine is big-endian */int n_badlink=0; /* number of non-unitary links we have found */
main(argc,argv)int argc;char *argv[];
{FILE *infile;float *q;struct site *lat, *p;REAL xx,yy,prop_tot;float xx_float;int i,j,n,s,splus,t,tplus,mu,T;int dims[4];int vol3, vol4;uint32_t chksum,partial_chksum,uj;char *str;
struct QCDheader * get_header(), * hdr;
/* Check which end is up */big_end_p = big_endian();
/* Check syntax */if (argc!=2) {printf("Usage: %s <U config>\n",argv[0]);exit(1);
}
/* Open file */infile = fopen(argv[1],"r");if (infile==NULL) {printf("error opening: %s\n",argv[1]);exit(1);
}
/* Read header and store results in QCDheader structure */
32
hdr = get_header(infile);
/* Look for basic info, reporting if avalailable */
/* get_string("ENSEMBLE_LABEL",hdr,&str);if (str==NULL) str = "(not specified)";printf("Ensemble label: %s\n",str);
get_string("ENSEMBLE_ID",hdr,&str);if (str==NULL) str = "(not specified)";printf("Ensemble ID: %s\n",str);
printf("Sequence number: ");i = get_int("SEQUENCE_NUMBER",hdr,&j);if (i==FAILURE) printf("(unknown)\n");else printf("%9d\n",j);*/
/* Get dimensions */if (get_int("DIMENSION_1",hdr,dims+0)==FAILURE) error_exit("DIMENSION_1 not present");if (get_int("DIMENSION_2",hdr,dims+1)==FAILURE) error_exit("DIMENSION_2 not present");if (get_int("DIMENSION_3",hdr,dims+2)==FAILURE) error_exit("DIMENSION_3 not present");if (get_int("DIMENSION_4",hdr,dims+3)==FAILURE) error_exit("DIMENSION_4 not present");
/* Make space for array in to which to read a timeslice ... */vol3 = dims[0]*dims[1]*dims[2];vol4 = dims[3]*vol3;lat = (struct site *) malloc(2*vol4*sizeof(struct site));
/* fill in the navigation stuff */init_navig(lat,dims);
/* Read in first lattice before main loop */read_slice(infile,vol4,lat,&partial_chksum);chksum = partial_chksum;check_unitarity(vol4,lat+vol4,0);
splus = 0;prop_tot = 0.0;
// membaca latticefor(s=0;s<vol4;s++){
splus = s + vol4;for(mu=0;mu<4;mu++){
for(i=0;i<18;i++){(lat[s]).U[mu][i] = (lat[splus]).U[mu][i];}
}}
for(T=2;T<18;T++){compute_prop(dims,lat,&xx,T);prop_tot = xx/(3);printf("% .9f ",prop_tot);}
printf("\n");
fclose(infile);
33
if (n_badlink>0) printf("Found %d bad links\n",n_badlink);
/*printf("Checksum = %x ... ",chksum);if (get_uint32_t("CHECKSUM",hdr,&uj) == FAILURE)printf("(no CHECKSUM in header)\n");
else if (uj==chksum)printf("(OK)\n");
elseprintf("(mismatch with %12u)\n",uj);
xx = trace_tot;printf("Avg trace = % .9f ... ",xx);if (get_float("LINK_TRACE",hdr,&xx_float) == FAILURE)printf("(no LINK_TRACE in header)\n");
else if (fabs(xx-xx_float)<TOL)printf("(OK)\n");
elseprintf("(mismatch with % .9f)\n",xx_float);*/
/*if (get_float("PLAQUETTE",hdr,&xx_float) == FAILURE)printf("(no PLAQUETTE in header)\n");
else if (fabs(xx-xx_float)<TOL)printf("(OK)\n");
elseprintf("(mismatch with % .9f)\n",xx_float);
printf("splus = %d\n ",splus);*/exit(0);
}
error_exit(s) char *s; {printf("%s\n",s);exit(1);}
/*=========================================*//* read_slice: read one timeslice *//*=========================================*/read_slice(_in,_vol3,_lat,_chk)
FILE *_in;int _vol3;struct site *_lat;uint32_t *_chk;
{struct site *p;float *uin,*q;int s,mu,i;uint32_t j=0;
uin = (float *) malloc(48*_vol3*sizeof(float));fread(uin,48*_vol3*sizeof(float),1,_in);if (!big_end_p) byte_swap(48*_vol3,uin);p = _lat+_vol3;q = uin;for (s=0;s<_vol3;s++) {for (mu=0;mu<4;mu++) {for (i=0;i<12;i++) {
j += *(uint32_t *) q;(*p).U[mu][i] = (REAL) *q++;}completeU((*p).U[mu]);
}p++;
34
}*_chk = j;free(uin);
#ifdef FORTRANORDER/* Tranpose if using fortran ordering for U[18] */transpose(_vol3,_lat+_vol3);
#endif
}
/*============================================*//* check_unitarity(_n,_lat): Check out links *//*============================================*/check_unitarity(_n,_lat,_t)
int _n,_t;struct site *_lat;
{int s,i,j,k,mu;REAL xx,*p,tmpU[18],tmpZ[18];
for (s=0;s<_n;s++) {for (mu=0;mu<4;mu++) {
/* Point to U_mu(s) */p = (_lat[s]).U[mu];
/* Compute (U.Udag - I) */multABdag(tmpZ,p,p);tmpZ[ 0] -= 1.0;tmpZ[ 8] -= 1.0;tmpZ[16] -= 1.0;
/* Check if it is zero, as it should be */xx = 0;for (i=0;i<18;i++) xx += tmpZ[i]*tmpZ[i];if (xx>TOL) {n_badlink++;/* print the first few errors */if (n_badlink<BADPRINT)
printf("Bad link @ t=%d s=%d, mu=%d : %15.10f\n",_t,s,mu,xx);}}
}}
/*============================================*//* big_endian(): Check if we are big-endian *//*============================================*/big_endian() {
union {long l;char c[sizeof (long)];
} u;u.l = 1;return (u.c[sizeof (long) - 1] == 1);
}
/*=============================================*//* byte_swap(_n,_u): Big/Little-Endian Filter *//*=============================================*/
35
byte_swap(_n,_u)int _n;uint32_t *_u;
{union {uint32_t uint_wrd;char c[sizeof(uint32_t)];
} wrd;register char chr;int s;for (s=0;s<_n;s++) {wrd.uint_wrd = _u[s];chr = wrd.c[0];wrd.c[0] = wrd.c[3];wrd.c[3] = chr;chr = wrd.c[2];wrd.c[2] = wrd.c[1];wrd.c[1] = chr;_u[s] = wrd.uint_wrd;
}}
/*=======================================================*//* REAL compute_prop(_dims,_lat,_plaq,_T): *//* menghitung propagator pada waktu T *//*=======================================================*/
compute_prop(_dims,_lat,_plaq,_T)struct site *_lat;int _dims[4], _T;REAL *_plaq;
{int x,y,z;int i,s,mu,nu,s_mu,s_nu,t;REAL one_plaquette();REAL xx,plaq_tot,tr_tot;REAL utmp[18],p[18];REAL *l1, *l2, *l3, *l4, *l;REAL plaq_x,plaq_y,plaq_s,prop;REAL tr_x,tr_y,tr_s;
prop = 0;
for(i=0;i<18;i++){utmp[i]=0.0;}
utmp[0]=1.0;utmp[8]=1.0;utmp[16]=1.0;
for(t=0;t<_T;t++){s = site_addr(0,0,0,t,_dims);l = (_lat[s]).U[3];transpose1(p,l);multAB(utmp,p,utmp);}
prop += utmp[0]+utmp[8]+utmp[16];
*_plaq = prop;return(0);
36
}
/////////////////////////////////////////////////////
int site_addr(x,y,z,t,_dims)int x,y,z,t;int _dims[4];
{return (x+_dims[0]*(y+_dims[1]*(z+_dims[2]*t)));
}
init_navig(_lat,_dims)struct site *_lat;int _dims[4];
{int x,y,z,t;int s;
for (t=0; t<2; t++) {for (z=0; z<_dims[2]; z++) {for (y=0; y<_dims[1]; y++) {for (x=0; x<_dims[0]; x++) {s = site_addr(x,y,z,t,_dims);
(_lat[s]).neighbor[0] = site_addr((x+1)%_dims[0],y,z,t,_dims);(_lat[s]).neighbor[1] = site_addr(x,(y+1)%_dims[1],z,t,_dims);(_lat[s]).neighbor[2] = site_addr(x,y,(z+1)%_dims[2],t,_dims);(_lat[s]).neighbor[3] = site_addr(x,y,z,(t+1)%_dims[3],_dims);
}}}}}
/*====================================================*//* REAL one_plaquette(): ReTr(l1*l2*l3dag,l4dag) *//*====================================================*/REAL one_plaquette(l1,l2,l3,l4)
REAL *l1, *l2, *l3, *l4;{
REAL utmp1[18],utmp2[18];
#ifdef FORTRANORDERmultAB(utmp1,l1,l2);multABdag(utmp2,utmp1,l3);multABdag(utmp1,utmp2,l4);
#elsemultAB(utmp1,l3,l4);multABdag(utmp2,utmp1,l1);multABdag(utmp1,utmp2,l2);
#endif
return (utmp1[0]+utmp1[8]+utmp1[16]);}
/*======================================================================*//* multAB(c,a,b): 3x3 matrix c=a*b, with arrays stored in Fortran order *//*======================================================================*/multAB(c,a,b)
REAL *c, *a, *b;{
c[ 0] = a[ 0]*b[ 0]-a[ 1]*b[ 1]+a[ 6]*b[ 2]-a[ 7]*b[ 3]+a[12]*b[ 4]-a[13]*b[ 5];c[ 2] = a[ 2]*b[ 0]-a[ 3]*b[ 1]+a[ 8]*b[ 2]-a[ 9]*b[ 3]+a[14]*b[ 4]-a[15]*b[ 5];
37
c[ 4] = a[ 4]*b[ 0]-a[ 5]*b[ 1]+a[10]*b[ 2]-a[11]*b[ 3]+a[16]*b[ 4]-a[17]*b[ 5];c[ 6] = a[ 0]*b[ 6]-a[ 1]*b[ 7]+a[ 6]*b[ 8]-a[ 7]*b[ 9]+a[12]*b[10]-a[13]*b[11];c[ 8] = a[ 2]*b[ 6]-a[ 3]*b[ 7]+a[ 8]*b[ 8]-a[ 9]*b[ 9]+a[14]*b[10]-a[15]*b[11];c[10] = a[ 4]*b[ 6]-a[ 5]*b[ 7]+a[10]*b[ 8]-a[11]*b[ 9]+a[16]*b[10]-a[17]*b[11];c[12] = a[ 0]*b[12]-a[ 1]*b[13]+a[ 6]*b[14]-a[ 7]*b[15]+a[12]*b[16]-a[13]*b[17];c[14] = a[ 2]*b[12]-a[ 3]*b[13]+a[ 8]*b[14]-a[ 9]*b[15]+a[14]*b[16]-a[15]*b[17];c[16] = a[ 4]*b[12]-a[ 5]*b[13]+a[10]*b[14]-a[11]*b[15]+a[16]*b[16]-a[17]*b[17];c[ 1] = a[ 0]*b[ 1]+a[ 1]*b[ 0]+a[ 6]*b[ 3]+a[ 7]*b[ 2]+a[12]*b[ 5]+a[13]*b[ 4];c[ 3] = a[ 2]*b[ 1]+a[ 3]*b[ 0]+a[ 8]*b[ 3]+a[ 9]*b[ 2]+a[14]*b[ 5]+a[15]*b[ 4];c[ 5] = a[ 4]*b[ 1]+a[ 5]*b[ 0]+a[10]*b[ 3]+a[11]*b[ 2]+a[16]*b[ 5]+a[17]*b[ 4];c[ 7] = a[ 0]*b[ 7]+a[ 1]*b[ 6]+a[ 6]*b[ 9]+a[ 7]*b[ 8]+a[12]*b[11]+a[13]*b[10];c[ 9] = a[ 2]*b[ 7]+a[ 3]*b[ 6]+a[ 8]*b[ 9]+a[ 9]*b[ 8]+a[14]*b[11]+a[15]*b[10];c[11] = a[ 4]*b[ 7]+a[ 5]*b[ 6]+a[10]*b[ 9]+a[11]*b[ 8]+a[16]*b[11]+a[17]*b[10];c[13] = a[ 0]*b[13]+a[ 1]*b[12]+a[ 6]*b[15]+a[ 7]*b[14]+a[12]*b[17]+a[13]*b[16];c[15] = a[ 2]*b[13]+a[ 3]*b[12]+a[ 8]*b[15]+a[ 9]*b[14]+a[14]*b[17]+a[15]*b[16];c[17] = a[ 4]*b[13]+a[ 5]*b[12]+a[10]*b[15]+a[11]*b[14]+a[16]*b[17]+a[17]*b[16];
}
/*=========================================================================*//* multABdag(c,a,b): 3x3 matrix c=a*b-dagger, with arrays in Fortran order *//*=========================================================================*/multABdag(c,a,b)
REAL *c, *a, *b;{
c[ 0] = a[ 0]*b[ 0]+a[ 1]*b[ 1]+a[ 6]*b[ 6]+a[ 7]*b[ 7]+a[12]*b[12]+a[13]*b[13];c[ 2] = a[ 2]*b[ 0]+a[ 3]*b[ 1]+a[ 8]*b[ 6]+a[ 9]*b[ 7]+a[14]*b[12]+a[15]*b[13];c[ 4] = a[ 4]*b[ 0]+a[ 5]*b[ 1]+a[10]*b[ 6]+a[11]*b[ 7]+a[16]*b[12]+a[17]*b[13];c[ 6] = a[ 0]*b[ 2]+a[ 1]*b[ 3]+a[ 6]*b[ 8]+a[ 7]*b[ 9]+a[12]*b[14]+a[13]*b[15];c[ 8] = a[ 2]*b[ 2]+a[ 3]*b[ 3]+a[ 8]*b[ 8]+a[ 9]*b[ 9]+a[14]*b[14]+a[15]*b[15];c[10] = a[ 4]*b[ 2]+a[ 5]*b[ 3]+a[10]*b[ 8]+a[11]*b[ 9]+a[16]*b[14]+a[17]*b[15];c[12] = a[ 0]*b[ 4]+a[ 1]*b[ 5]+a[ 6]*b[10]+a[ 7]*b[11]+a[12]*b[16]+a[13]*b[17];c[14] = a[ 2]*b[ 4]+a[ 3]*b[ 5]+a[ 8]*b[10]+a[ 9]*b[11]+a[14]*b[16]+a[15]*b[17];c[16] = a[ 4]*b[ 4]+a[ 5]*b[ 5]+a[10]*b[10]+a[11]*b[11]+a[16]*b[16]+a[17]*b[17];
c[ 1] = -a[ 0]*b[ 1]+a[ 1]*b[ 0]-a[ 6]*b[ 7]+a[ 7]*b[ 6]-a[12]*b[13]+a[13]*b[12];c[ 3] = -a[ 2]*b[ 1]+a[ 3]*b[ 0]-a[ 8]*b[ 7]+a[ 9]*b[ 6]-a[14]*b[13]+a[15]*b[12];c[ 5] = -a[ 4]*b[ 1]+a[ 5]*b[ 0]-a[10]*b[ 7]+a[11]*b[ 6]-a[16]*b[13]+a[17]*b[12];c[ 7] = -a[ 0]*b[ 3]+a[ 1]*b[ 2]-a[ 6]*b[ 9]+a[ 7]*b[ 8]-a[12]*b[15]+a[13]*b[14];c[ 9] = -a[ 2]*b[ 3]+a[ 3]*b[ 2]-a[ 8]*b[ 9]+a[ 9]*b[ 8]-a[14]*b[15]+a[15]*b[14];c[11] = -a[ 4]*b[ 3]+a[ 5]*b[ 2]-a[10]*b[ 9]+a[11]*b[ 8]-a[16]*b[15]+a[17]*b[14];c[13] = -a[ 0]*b[ 5]+a[ 1]*b[ 4]-a[ 6]*b[11]+a[ 7]*b[10]-a[12]*b[17]+a[13]*b[16];c[15] = -a[ 2]*b[ 5]+a[ 3]*b[ 4]-a[ 8]*b[11]+a[ 9]*b[10]-a[14]*b[17]+a[15]*b[16];c[17] = -a[ 4]*b[ 5]+a[ 5]*b[ 4]-a[10]*b[11]+a[11]*b[10]-a[16]*b[17]+a[17]*b[16];
}
/*======================================================================*//* transpose(_n,_lat): filter to account for U/U-dag/U-star conventions *//*======================================================================*/transpose(_n,_lat)
int _n;struct site *_lat;
{int s,mu,i,nsite;REAL *p,tmp[18];for (s=0;s<_n;s++) {for (mu=0;mu<4;mu++) {p = (_lat[s]).U[mu];for (i=0;i<18;i++) tmp[i] = p[i];
38
p[ 0] = tmp[ 0];p[ 1] = -tmp[ 1];p[ 2] = tmp[ 6];p[ 3] = -tmp[ 7];p[ 4] = tmp[12];p[ 5] = -tmp[13];p[ 6] = tmp[ 2];p[ 7] = -tmp[ 3];p[ 8] = tmp[ 8];p[ 9] = -tmp[ 9];p[10] = tmp[14];p[11] = -tmp[15];p[12] = tmp[ 4];p[13] = -tmp[ 5];p[14] = tmp[10];p[15] = -tmp[11];p[16] = tmp[16];p[17] = -tmp[17];
}}
}
/*======================================================================*//* transpose1(_lat): filter to account for U/U-dag/U-star conventions *//*======================================================================*/transpose1(p,l)
REAL *p,*l;{
int s,mu,i,nsite;REAL tmp[18];
p[ 0] = l[ 0];p[ 1] = -l[ 1];p[ 2] = l[ 6];p[ 3] = -l[ 7];p[ 4] = l[12];p[ 5] = -l[13];p[ 6] = l[ 2];p[ 7] = -l[ 3];p[ 8] = l[ 8];p[ 9] = -l[ 9];p[10] = l[14];p[11] = -l[15];p[12] = l[ 4];p[13] = -l[ 5];p[14] = l[10];p[15] = -l[11];p[16] = l[16];p[17] = -l[17];
}
/*================================================*//* complete_U: fill in 3rd vector of one U matrix *//*================================================*/completeU(_p)
REAL *_p;{
_p[12] = _p[ 2]*_p[10] - _p[ 4]*_p[ 8] - _p[ 3]*_p[11] + _p[ 5]*_p[ 9];_p[13] = _p[ 4]*_p[ 9] - _p[ 2]*_p[11] + _p[ 5]*_p[ 8] - _p[ 3]*_p[10];_p[14] = _p[ 4]*_p[ 6] - _p[ 0]*_p[10] - _p[ 5]*_p[ 7] + _p[ 1]*_p[11];
39
_p[15] = _p[ 0]*_p[11] - _p[ 4]*_p[ 7] + _p[ 1]*_p[10] - _p[ 5]*_p[ 6];_p[16] = _p[ 0]*_p[ 8] - _p[ 2]*_p[ 6] - _p[ 1]*_p[ 9] + _p[ 3]*_p[ 7];_p[17] = _p[ 2]*_p[ 7] - _p[ 0]*_p[ 9] + _p[ 3]*_p[ 6] - _p[ 1]*_p[ 8];
}
/*==============================================*//* get_header: read from stream, parsing tokens *//*==============================================*/struct QCDheader *get_header(in)
FILE *in;{ #define MAX_LINE_LENGTH 1024 #define MAX_TOKENS 512
char line[MAX_LINE_LENGTH];int i,n,len;struct QCDheader *hdr;char **tokens, **values;char *p, *q;
/* Begin reading, and check for "BEGIN_HEADER" token */fgets(line,MAX_LINE_LENGTH,in);if (strcmp(line,"BEGIN_HEADER\n")!=0)error_exit("Missing \"BEGIN_HEADER\"; punting \n");
/* Allocate space for QCDheader and its pointers */tokens = (char **) malloc(MAX_TOKENS*sizeof(char *));values = (char **) malloc(MAX_TOKENS*sizeof(char *));hdr = (struct QCDheader *) malloc(sizeof(struct QCDheader));(*hdr).token = tokens;(*hdr).value = values;
/* Begin loop on tokens */n = 0;while (1) {fgets(line,MAX_LINE_LENGTH,in);if (strcmp(line,"END_HEADER\n")==0) break;
/* Tokens are terminated by a space */q = index(line,’ ’);
/* Overwrite space with a terminating null */*q = ’\0’;len = (int) q - (int) line;
/* allocate space and copy the token in to it */p = malloc(len+1);(*hdr).token[n] = p;strcpy(p,line);
q = index(++q,’=’); q++;len = strlen(q);q[len-1] = 0;p = malloc(len);(*hdr).value[n] = p;strcpy(p,q);n++;
}(*hdr).ntoken = n;return (hdr);
}
/*===========================================================*/
40
/* get_string: find a token and return its value as a string *//*===========================================================*/get_string(s,hdr,q)
char *s;struct QCDheader *hdr;char **q;
{/* find a token and return the value */int i;for (i=0; i<(*hdr).ntoken; i++) {if (strcmp(s,(*hdr).token[i])==0) {*q = (*hdr).value[i];return(SUCCESS);
}}*q = NULL;return (FAILURE);
}
/*========================================*//* get_uint32_t: return value as a uint32_t *//*========================================*/get_uint32_t(s,hdr,q)
char *s;struct QCDheader *hdr;uint32_t *q;
{char *p;int j;get_string(s,hdr,&p);if (p==NULL) return (FAILURE);
#ifdef INTS_ARE_32BITsscanf(p,"%x",q);
#elsesscanf(p,"%x",&j);*q = (uint32_t) j;
#endifreturn (SUCCESS);
}
/*==================================*//* get_int: return value as an int *//*==================================*/get_int(s,hdr,q)
char *s;struct QCDheader *hdr;int *q;
{char *p;get_string(s,hdr,&p);if (p==NULL) return (FAILURE);sscanf(p,"%d",q);return (SUCCESS);
}
/*=====================================*//* get_float: return value as a float *//*=====================================*/get_float(s,hdr,q)
char *s;struct QCDheader *hdr;
41
float *q;{
char *p;get_string(s,hdr,&p);if (p==NULL) return (FAILURE);sscanf(p,"%f",q);return (SUCCESS);
}
print_link(u)REAL *u;
{ int i;printf("======\n");for (i=0;i<18;i+=2)printf(" %f %f\n",u[i],u[i+1]);
}
42
A.2 Menghitung massa residu
/*===================================================================*/
/* Program menghitung residual mass rata-rata dan deviasinya */
/*===================================================================*/
#include <stdio.h>
#include <math.h>
main(){
int i,j;
double tmp[100][100], array[100][100], dmarray[100][100];
double sum[100], avg[100], dev[100];
int bar, kol;
int f;
double fi,div;
bar = 50; /* jumlah konfigurasi
kol = 16; /* titik waktu yang diplot
/*================================================*/
/* membaca nilai propagator dan meng_improve_nya */
/*================================================*/
for(i=0;i<bar;i++){
for(j=0;j<kol;j++){
f = j + 1 + 1;
fi = (1 - pow((0.3333333),(double)f));
scanf("%lf", &tmp[i][j]);
array[i][j] = fi * tmp[i][j];
}
}
/*=====================*/
/* menghitung nilai dm */
/*=====================*/
for(i=0;i<bar;i++){
for(j=0;j<(kol-1);j++){
div = array[i][j+1]/array[i][j];
dmarray[i][j] = (-1.0) * log(div);
}
}
/*=====================================*/
/* menghitung dm rata2 dan varians_nya */
/*=====================================*/
for(j=0;j<(kol-1);j++){
for(i=0;i<bar;i++){
sum[j] += dmarray[i][j];
}
43
avg[j] = sum[j]/bar;
sum[j] = 0;
for(i=0;i<bar;i++){
sum[j] += ((dmarray[i][j] - avg[j])*(dmarray[i][j] - avg[j]));
}
dev[j] = sqrt(sum[j]/(double)(bar-1));
printf(" %d %lf %lf\n", j+1, avg[j], dev[j]/2);
}
}
44
Daftar Acuan
[1] R. P. Feynman dan A. R. Hibbs (1965), Quantum Mechanics and Path
Integrals, McGraw-Hill.
[2] M. Alford et. al., Lattice QCD on Small Computers, Phys. Lett. B361
(1995) 87 (hep-lat/9507010).
[3] M. Crisafulli, V. Gimenez, G. Martinelli dan C. T. Sachradja, First Lattice
Calculation of The B-meson Binding and Kinetic Energy, CERN-
TH.7521/94 (hep-ph/9506210).
[4] V. Gimenez, G. Martinelli dan C. T. Sachradja, A High Statistics Lattice
Calculation of The B-meson Binding Energy, CERN-TH/96-163 (hep-
ph/9607018).
[5] H. J. Rothe (1997), Lattice Gauge Theory, an Introduction, World Sci-
entific Publishing.
[6] G. Munster and M. Walzl, Lattice Gauge Theory A Short Primer, (hep-
lat/0012005).
[7] G. P. Lepage, Lattice QCD For Novices,
http://www.tech.plym.ac.uk/maths/bus.
[8] K. Wilson, Confinement of Quarks, Phys. Rev. D10 (1974) 2445.
45
[9] G. Martinelli dan C. T. Sachradja, Renormalons and the Heavy Quark
Effective Theory, CERN-TH.7517/94 (hep-ph/9502352).
[10] A. F. Falk, M. Neubert dan M. Luke, Nucl. Phys. B388 (1992) 363.
[11] The APE Collaboration, C. R. Allton et al., Result for the B-meson Decay
Constan from the APE Collaboration, Nucl. Phys. B413 (1994); Phys.
Lett. B326 (1994) 295.
[12] The Gauge Connection http://qcd.nersc.gov.
46