Skip to content

Commit

Permalink
Showed a trivial bundle compared to a twisted bundle.
Browse files Browse the repository at this point in the history
  • Loading branch information
iamazadi committed Nov 11, 2024
1 parent b6ef165 commit f4cb97c
Show file tree
Hide file tree
Showing 3 changed files with 139 additions and 36 deletions.
75 changes: 40 additions & 35 deletions docs/src/newsreport.md
Original file line number Diff line number Diff line change
Expand Up @@ -273,6 +273,8 @@ This is related to the fact that the weak interaction in the Standard Model is n

![27](./assets/spinspace/27.PNG)

[The particular case of a *trivial* bundle and the general case of a *twisted* bundle](https://github.com/iamazadi/Porta.jl/blob/master/models/newsreport/spacetime/fig153bundle.jl)

![28](./assets/spinspace/28.PNG)

![29](./assets/spinspace/29.PNG)
Expand All @@ -283,14 +285,30 @@ This is related to the fact that the weak interaction in the Standard Model is n

![32](./assets/spinspace/32.PNG)

![33](./assets/spinspace/33.PNG)

![34](./assets/spinspace/34.PNG)

![35](./assets/spinspace/35.PNG)

![36](./assets/spinspace/36.PNG)

![37](./assets/spinspace/37.PNG)

![38](./assets/spinspace/38.PNG)

![39](./assets/spinspace/39.PNG)

![40](./assets/spinspace/40.PNG)

![41](./assets/spinspace/41.PNG)

Hence, by the uniqueness of integral curves (which is a theorem about the uniqueness of solutions to odrinary differential equations) we have ``\phi_X(s) \cdot \phi_X(t) = \phi_X(s + t) \ \forall t \in I \cap (t_{min} - s, t_{max} - s)``.
This implies the claim by uniqueness of solutions of ordinary differential equations.
The unique solution of this differential equation for ``\gamma(t)`` is ``\gamma(t) = e^{tr(X)t}``.
Then ``e^D = \begin{bmatrix} e^{d_1} & 0 & 0 \\ 0 & e^{d_2} & 0 \\ & \ddots & \\ 0 & 0 & e^{d_n} \end{bmatrix}`` and the equation ``det(e^D) = e^{d_1} ... e^{d_n} = e^{d_1 + ... + d_n} = e^{tr(D)}`` is trivially satisfied.
Then we can calculate: ``(R^*_gs)_p(X,Y) = \ <L_{(pg)^{-1}*}R_{g*}(X), L_{(pg)^{-1}*}R_{g*}(Y)> \ = \ <Ad_{g^{-1}} \circ L_{p^{-1}*}(X), Ad_{g^{-1}} \circ L_{p^{-1}*}(Y)>`` and ``s_p(X,Y) \ = \ <L_{p^{-1}*}(X), L_{p^{-1}*}(Y)>``, where in both equations we used that ``s`` is left invariant.

![33](./assets/spinspace/33.PNG)

Lemma 3.3.3 For ``A \in Mat(m \times m, \mathbb{H})`` and ``v \in \mathbb{H}^m`` the following equation holds: ``det\begin{bmatrix}1 & v \\ 0 & A\end{bmatrix} = det(A)``.
Lemma 4.1.13 (Cocycle Conditions) The transition functions ``\{\phi_{ij}\}_{i,j \in I}`` satisfy the following equations:

Expand All @@ -300,13 +318,9 @@ Lemma 4.1.13 (Cocycle Conditions) The transition functions ``\{\phi_{ij}\}_{i,j

The third equation is called the **cycycle condition**.

![34](./assets/spinspace/34.PNG)

5.5.2 The structure equation
Theorem 5.5.4 (Structure Equation) The curvature form ``F`` of a connection form ``A`` satisfies ``F = dA + \frac{1}{2}[A,A]``.

![35](./assets/spinspace/35.PNG)

Proof We check the formula by inserting ``X,Y \in T_pP`` on both sides of the equation, where we distinguish the following three cases:
1. Both ``X`` and ``Y`` are vertical: Then ``X`` and ``Y`` are fundamental vectors, ``X = \tilde{V}_p, \ Y = \tilde{W}_p`` for certain elements ``V,W \in g``. We get ``F(X,Y) = dA(\pi_H(X), \pi_H(Y)) = 0``. On the other hand we have ``\frac{1}{2}[A,A](X,Y) = [A(X),A(Y)] = [V,W]``. The differential ``dA`` of a 1-form ``A`` is given according to Proposition A.2.22 by ``dA(X,Y) = L_X(A(Y))-L_Y(A(X))-A([X,Y])``, where we extend the vectors ``X`` and ``Y`` to vector fields in a neighbourhood of ``p``. If we choose the extension by fundamental vector fields ``\tilde{V}`` and ``\tilde{W}``, then ``dA(X,Y) = L_X(W) - L_Y(V) - [V,W] = -[V,W]`` since ``V`` and ``W`` are constant maps from ``P`` to ``g`` and we used that ``[\tilde{V},\tilde{W}] = \widetilde{[V,W]}`` according to Proposition 3.4.4. This implies the claim.
2. Both ``X`` and ``Y`` are horizontal: Then ``F(X,Y) = dA(X,Y)`` and ``\frac{1}{2}[A,A](X,Y) = [A(X), A(Y)] = [0,0]=0``. This implies the claim.
Expand All @@ -326,8 +340,6 @@ We write ``A_\mu = A_s(\partial_\mu), F_{\mu\nu} = F_s(\partial_\mu, \partial_\n

We will determine ``g(t)`` as the solution of a differential equation.

![36](./assets/spinspace/36.PNG)

Proof Properties 1-3 follow from the theory of ordinary differential equations. (Parallel transport)

These covariant derivatives appear in physics, in particular, in the Lagrangians and field equations defining gauge theories.
Expand All @@ -353,27 +365,19 @@ Lemma 6.1.7 Matrices ``A \in O(s,t)`` satisfy ``detA = \pm 1``.

``A^T \begin{bmatrix} I_s & 0 \\ 0 & -I_t \end{bmatrix} A = \begin{bmatrix} I_s & 0 \\ 0 & -I_t \end{bmatrix}``.

![37](./assets/spinspace/37.PNG)

Remark 6.2.5 We can think of the linear map ``\gamma`` as a **linear square root** of the symmetric bilinear form ``-Q``: in the definition of Clifford algebras, it suffices to demand that ``\gamma(v)^2 = -Q(v,v) \cdot 1 \ \forall \ v, w \in V``, because, considering this equation for vectors ``v, w, v + w``, the equation ``\{\gamma(v), \gamma(w\} = -2Q(v, w) \cdot 1 \ \forall \ v, w \in V`` follows.

![38](./assets/spinspace/38.PNG)

Lemma 6.3.6 Every chirality element ``\omega`` satisfies
- ``\{\omega,e_a\} = 0``
- ``[\omega,e_a \cdot e_b] = 0 \ \forall \ 1 \le a, b \le n``.

![39](./assets/spinspace/39.PNG)

Proof The first equation follows from
``e_a \cdot \omega = \lambda e_a \cdot e_1 ... e_n = (-1)^{a - 1} \lambda e_1 ... e_a \cdot e_a ... e_n``

``\omega \cdot e_a = \lambda e_1 ... e_n \cdot e_a = (-1)^{n - a} \lambda e_1 ... e_a \cdot e_a ... e_n = -e_a \cdot \omega``,

since ``n`` is even. The second equation is a consequence of the first.

![40](./assets/spinspace/40.PNG)

Let ``\Gamma_1, ..., \Gamma_n`` be physical gamma matrices. We set

``\Gamma_a = \eta^{ac} \Gamma_c``,
Expand Down Expand Up @@ -413,8 +417,6 @@ The first equation also holds with the physical Clifford matrices ``\Gamma_a`` i

There is an equivalent equation to the first one with physical Clifford matrices ``\Gamma_a : 1 \cdot \Gamma^\dagger_a = -\delta A \Gamma_a A^{-1} \ \ for \ all \ a = 1, ..., s + t``.

![41](./assets/spinspace/41.PNG)

Furthermore, property 1. and 2. in Definition 6.7.8 are equivalent to:

1. ``\gamma_a^{\dagger} = \delta A \gamma_a A^{-1} \ \ for \ all \ a = 1, ..., s + t``.
Expand All @@ -436,53 +438,56 @@ Given a spin structure on a pseudo-Riemannian manifold and the spinor bundle ``S

![44](./assets/spinspace/44.PNG)

![45](./assets/spinspace/45.PNG)

![46](./assets/spinspace/46.PNG)

![47](./assets/spinspace/47.PNG)

![48](./assets/spinspace/48.PNG)

![49](./assets/spinspace/49.PNG)

![50](./assets/spinspace/50.PNG)

![51](./assets/spinspace/51.PNG)

![52](./assets/spinspace/52.PNG)

![53](./assets/spinspace/53.PNG)

![54](./assets/spinspace/54.PNG)

The following three chapters discuss applications in physics: the Lagrangians and interactions in the Standard Model, spontaneous symmetry breaking, the Higgs mechanism of mass generation, and some more advanced and modern topics like neutrino masses and CP violation.
Depending on the time, the interests and the prior knowledge of the reader, he or she can take a shortcut and immediately start at the chapters on connections, spinors or Lagrangians, and then go back if more detailed mathematical knowledge is required at some point.
An interesting and perhaps underappreciated fact is that a substantial number of phenomena in particle physics can be understood by analysing representations of Lie groups and by rewriting or rearranging Lagrangians.

![45](./assets/spinspace/45.PNG)

Symmetries of Lagrangians
interactions between fields corresponding to elementary particles (quarks, leptons, gauge bosons, Higgs boson), determined by the Lagrangian.
For the symmetries relevant in field theories, the groups act on fields and leave the *Lagrangian* or the *action* (the spacetime integral over the Lagrangian) invariant.
In the following chapter we will study some associated concepts, like representations (which are used to define the actions of Lie groups on fields) and invariant matrices (which are important in the construction of the gauge invariant Yang-Mills Lagrangian).
We also discuss special scalar products on Lie algebras which will be used in Sect. 7.3.1 to construct Lagrangians for gauge boson fields.

![46](./assets/spinspace/46.PNG)

The existence of positive definite Ad-invariant scalar products on the Lie algebra of compact Lie groups is very important in gauge theory, in particular, for the construction of the gauge-invariant *Yang-Mills Lagrangian*; see Sect. 7.3.1.
The fact that these scalar products are positive definite is important from a phenomenological point of view, because only then do the kinetic terms in the Yang-Mills Lagrangian have the right sign (the gauge bosons have positive kinetic energy [148]).
In a gauge-invariant Lagrangian this results in terms of order higher than two in the matter and gauge fields, which are interpreted as interactions between the corresponding particles.
In non-abelian gauge theories, like quantum chromodynamics (QCD), there are also terms in the Lagrangian of order higher than two in the gauge fields themselves, coming from a quadratic term in the curvature that appears in the Yang-Mills Lagrangian.

![47](./assets/spinspace/47.PNG)

In physics, the quadratic term ``[A_\mu, A_\nu]`` in the expression for ``F_{\mu\nu}`` (leading to cubic and quartic terms in the *Yang-Mills Lagrangian*, see Definition 7.3.1 and the corresponding local formula in Eq. (7.1)) is interpreted as a direct interaction between gauge bosons described by the gauge field ``A_\mu``.
These covariant derivatives appear in physics, in particular, in the Lagrangians and field equations defining gauge theories.
This non-linearity, called *minimal coupling*, leads to non-quadratic terms in the Lagrangian (see Definition 7.5.5 and Definition 7.6.2 as well as the local formulas in Eqs. (7.3) and (7.4)), which are interpreted as an interaction between gauge bosons described by ``A_\mu`` and the particles described by the field ``\phi``.

![48](./assets/spinspace/48.PNG)

Figure 5.2 shows the Feynman diagrams for the cubic and quartic terms which appear in the Klein-Gordon Lagrangian in Eq. (7.3), representing the interaction between a gauge field ``A`` and a charged scalar field described locally by a map ``\phi`` with values in ``V``.
Fig 5.2 Feynman diagrams for interaction between gauge field and charged scalar

![49](./assets/spinspace/49.PNG)

Hermitian scalar products are particularly important, because we need them in Chap. 7 to define Lorentz invariant Lagrangians involving spinors.

``<\psi, \phi> \ = \ \overline{\psi} \phi``,

``\overline{\psi} = \psi^\dagger A``.

![50](./assets/spinspace/50.PNG)

Dirac forms are used in the Standard Model to define a *Dirac mass term* in the Lagrangian for all fermions (except possibly the neutrinos) and, together with the Dirac operator the *kinetic term* and the *interaction term*; see Sect. 7.6.

![51](./assets/spinspace/51.PNG)
![52](./assets/spinspace/52.PNG)
![53](./assets/spinspace/53.PNG)
![54](./assets/spinspace/54.PNG)

### Porta.jl

![55](./assets/spinspace/55.PNG)
Expand Down
98 changes: 98 additions & 0 deletions models/newsreport/gaugeconnections/fig153bundle.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
using FileIO
using GLMakie
import LinearAlgebra
using Porta


figuresize = (4096, 2160)
segments = 60
frames_number = 360
modelname = "fig153bundle"
= ℝ³([1.0; 0.0; 0.0])
= ℝ³([0.0; 1.0; 0.0])
= ℝ³([0.0; 0.0; 1.0])
eyeposition = normalize(ℝ³(1.0, 1.0, float(π))) * float(2π)
lookat = ℝ³(0.0, 0.0, 0.0)
up = normalize(ℝ³(0.0, 0.0, 1.0))
attributespath = "data/naturalearth/geometry-attributes.csv"
nodespath = "data/naturalearth/geometry-nodes.csv"
boundary_names = Set{String}()
boundary_nodes = Vector{Vector{ℝ³}}()
indices = Dict{String,Int}()
reference = load("data/basemap_color.png")
mask = load("data/basemap_mask.png")

makefigure() = Figure(size = figuresize)
fig = with_theme(makefigure, theme_black())
pl = PointLight(Point3f(0), RGBf(0.0862, 0.0862, 0.0862))
al = AmbientLight(RGBf(0.9, 0.9, 0.9))
lscene1 = LScene(fig[1, 1], show_axis=false, scenekw = (lights = [pl, al], clear=true, backgroundcolor = :white))
lscene2 = LScene(fig[1, 2], show_axis=false, scenekw = (lights = [pl, al], clear=true, backgroundcolor = :white))

## Load the Natural Earth data
countries = loadcountries(attributespath, nodespath)
while length(boundary_names) < 10
push!(boundary_names, rand(countries["name"]))
end
for i in eachindex(countries["name"])
for name in boundary_names
if countries["name"][i] == name
push!(boundary_nodes, countries["nodes"][i])
println(name)
indices[name] = length(boundary_nodes)
end
end
end

lspace1 = range(-π, stop = float(π), length = segments)
lspace2 = range(-π / 2, stop = π / 2, length = segments)
plane = [ℝ³([θ; ϕ; 0.0]) for θ in lspace2, ϕ in lspace1]
sectionobservable1 = buildsurface(lscene1, plane, mask, transparency = true)
sectionobservable2 = buildsurface(lscene2, plane, mask, transparency = true)

fibersobservable1 = Tuple{Observable{Matrix{Float64}}, Observable{Matrix{Float64}}, Observable{Matrix{Float64}}}[]
fibersobservable2 = Tuple{Observable{Matrix{Float64}}, Observable{Matrix{Float64}}, Observable{Matrix{Float64}}}[]

for index in 1:length(boundary_names)
boundary = convert_to_geographic.(boundary_nodes[index])
lspace = range(0.0, stop = 1.0, length = segments)
fiber = [ℝ³(vec(boundary[i])[2:3]..., height) for i in eachindex(boundary), height in lspace]
color = fill(getcolor(boundary_nodes[index], reference, 0.5), length(boundary), segments)
push!(fibersobservable1, buildsurface(lscene1, fiber, color, transparency = true))
push!(fibersobservable2, buildsurface(lscene2, fiber, color, transparency = true))
end


animate(frame::Int) = begin
progress = Float64(frame / frames_number)
println("Frame: $frame, Progress: $progress")
height = progress * 2π
lspace = range(0.0, stop = height, length = segments)
section1 = [ℝ³([-θ; ϕ; height]) for θ in lspace2, ϕ in lspace1]
section2 = [rotate(ℝ³([-θ; ϕ; height]), (height, ẑ)) for θ in lspace2, ϕ in lspace1]
updatesurface!(section1, sectionobservable1)
updatesurface!(section2, sectionobservable2)

for index in 1:length(boundary_names)
boundary = convert_to_geographic.(boundary_nodes[index])
fiber1 = [ℝ³(vec(boundary[i])[2], vec(boundary[i])[3], _height) for i in eachindex(boundary), _height in lspace]
fiber2 = [rotate(ℝ³(vec(boundary[i])[2], vec(boundary[i])[3], _height), (_height, ẑ)) for i in eachindex(boundary), _height in lspace]
updatesurface!(fiber1, fibersobservable1[index])
updatesurface!(fiber2, fibersobservable2[index])
end

if frame % 60 == 0
buildsurface(lscene1, section1, mask, transparency = true)
buildsurface(lscene2, section2, mask, transparency = true)
end

updatecamera!(lscene1, eyeposition, sum(section1) * (1.0 / segments^2), up)
updatecamera!(lscene2, eyeposition, sum(section2) * (1.0 / segments^2), up)
end


animate(1)

record(fig, joinpath("gallery", "$modelname.mp4"), 1:frames_number) do frame
animate(frame)
end
2 changes: 1 addition & 1 deletion src/utilities.jl
Original file line number Diff line number Diff line change
Expand Up @@ -397,7 +397,7 @@ end
"""
calculatetransformation(z₁, z₂, z₃, w₁, w₂, w₃)
Calculate the spin transformation that takes the given three points `z₁`, `z₂` and `z₃` to three points `w₁`, `w₂` and `w₃`.
Calculate the bilinear transformation that takes the given three points `z₁`, `z₂` and `z₃` to three points `w₁`, `w₂` and `w₃`.
"""
function calculatetransformation(z₁::Complex, z₂::Complex, z₃::Complex, w₁::Complex, w₂::Complex, w₃::Complex)
f(z::Complex) = begin
Expand Down

0 comments on commit f4cb97c

Please sign in to comment.