Skip to content

Program which computes the mass of spherical twists for Local P1, Local P2, and K3 surfaces (of Picard rank 1).

License

Notifications You must be signed in to change notification settings

cdare-ucsb/DerivedCategoryMass

Repository files navigation

DerivedCategoryMass

DerivedCategoryMass is a project stemming from my Ph.D. work on the mass evolution of certain objects in the catagories relevant to the B-Model of string theory; however, this question also provides context about the relation between birational models of certain Calabi-Yau varieties obtained from considering the moduli-space of the skyscraper sheaf under wall-crossing.

Table of Contents

Introduction

In physics we typically contextualize the setting in which large-scale events occur as 4D-spacetime, which is often modeled using some Lorentzian manifold. Field theories (such as QFTs, CFTs) additionally describe the data of quantum / local fields over the spacetime manifold as sections of tensor bundles (e.g. scalar fields = Higgs bundle, spinor fields = electrons, quarks), along with some symmetry data. Motivated by the Kaluza-Klein model — which predicts that at low energies a dimension unifying electromagnetism and gravity should be undetectable — we assume that the fundamental forces arise from dimensions too small to observe directly, and thus must be mathematially compact. This is the first geometrically significant property we need to extract before moving on.

Next, it turns out that in current models there exist notable issues caused by the fact that the Higgs boson directly couples to every non-massless particle (this ultimately leading to large loop corrections). In theory, this should cause the Higgs boson's mass to grow as larger as the Plank mass; however, experimentally the Higgs boson's mass stays far below the Plank-scale thus causing the Hierarchy Problem. One of the currently solutions is an added "graded" symmetry on the compactified space, known as supersymmetry (SUSY). In particular, the assumption that our theory survives at least N=1 supersymmetry in low energies requires that the compactified dimensions admit a covariantly constant spinor, and thus has a SU(n) holonomy — in other words, our compactified dimensions are Calabi-Yau.

In the gauge theory setting of this compactified space, not all gauge fields in our field configuration should be physically significant. In order to admit a vacuum state solution, there must exist a global minimum of the Yang-Mills action; for Gauge fields, the occurs if and only if the connection on the vector bundle is a Hermite-Einstein connection. By a theorem of Donaldson-Ulhenbeck-Yau, this is mathematically equivalent to the bundle being slope-stable with respect to some Kähler class. In string theory, objects depending on some choice of Kähler class are often modified by world-sheet instanton corrections. In this context, the vacuaa are described as BPS vacua and correspond to Bridgeland-stable objects in the derived category of our compactified dimensions (i.e. the Calabi-Yau threefold). The problem of finding mass for BPS states is trivial since they satisfy the BPS bound M = |Z| (where Z is the central charge of a Bridgeland stability condition); however, finding the mass of other particles turns out to be a difficult problem regarding how they decompose.

Most current supersymmetric models require 3 compactified complex dimensions for anomaly cancellation to mathematically work; unfortunately, only one example of a complex compact Kahler threefold that admits geometric Bridgeland stability conditions is known Li (2019). There are two ways to simplify the above problem: one one hand, we can look at fewer compactified dimensions than are currently expected. In particular, if we assume that there are only two complex dimensions (as opposed to three in current supersymmetric models), our problem reduces to predicting mass on a projective K3 surface — since a very general projective K3 surface has Picard rank 1, we add this to the assumption in the program to make interactions between divisors easier. On the other hand, we can also look at "local models" of our compactified Calabi-Yau manifolds, which are non-compact quasi-projective Calabi-Yau's whose derived category behaves like the derived category of our original Calabi-Yau in an open neighborhhood. Under the assumption that our 3 compactified dimensions contain a projective plane, this leads to the "Local P2" model. We also provide a "Local P1" model which behaves as an even simpler approximation of our projective K3 surfaces.


Installation

Installation of Python

If you are interested in trying out the current implementation, the first step is making sure that you have an installation of Python 3 on your system. Unfortunately, the newest Python installation 3.13.x is not compatible with some of the neural network libraries; thus, in order for this program to work you must have Python 3.11.x or less (this, in particular, works with NumPy 1.25.x).

MacOS

Simply run

brew install python@3.11

For some MacOS users, this will require that certain additional XCode command-line tools be installed; thus, if you get some sort of error when installing Python 3.11, run

xcode-select --install

and then try installing the Python library. Make sure to verify the installation by running

python3.11 --version

Linux (Ubuntu/Debian)

Run

sudo apt update && sudo apt upgrade -y
sudo apt install software-properties-common -y
sudo add-apt-repository ppa:deadsnakes/ppa -y

sudo apt update
sudo apt install python3.11 python3.11-distutils python3.11-venv -y

and again verify the installation.

Windows

You'll figure something out.

Clone the repository from GitHub (or Download)

The user may notice that the code is readily available on this webpage, but not on their local machine. There are effectively two options to move the code to your local machine to run the program

  1. Download the director as a .zip file by finding the green "<> Code" button on the repository webpage and selecting "Download ZIP". Next, unzip the directory and move it to a location you can easily navigate to from the command line.

  2. Clone via git using the command line. This requires that the git package be installed on the local machine — one can follow similar steps to the installation of python to install the git package (e.g. for MacOS, one would simply run brew install git and verify installation by running git --version). Again, move to a local directory that is easy to navigate to from the command line and run

cd path/of/your/choosing && git clone https://github.com/cdare-ucsb/DerivedCategoryMass.git

Usage

After you have installed Python 3.11, the GUI for the program can be run from a Flask server using

./run.sh

This will create a Python virtual environment to download several dependencies to (e.g. Flask, Plotly, PyTorch, etc.) in a local, contained environment; these local dependencies will be created and stored in a /venv folder. It is important not to adjust any of the installation versions in the run.sh BASH file since the program is somewhat sensitive to certain versions of NumPy and Plotly not working together.

Once all dependencies are installed, a Flask server will start and should open up the default browser to a webpage where the user can choose from 3 different geometric models for the compactified dimensions relevant to superstring theory — each model simplifies the standard complex projective threefold assumption in its own unique way, which is described on the relevant page. By navigating to the bottom of the page, the current utility is that the user can explore the mass asymptotics of D-branes under different charges

Example image of usage

Project Structure

The project is currently separated into the front-end (handled by flask) in the app directory, the back-end (currently python) in the src directory, and the unit testing in the tests/ directory.

__pycache__/
.pytest_cache/
.vscode/
app/
    __init__.py
    models/
    routes.py
    static/
    templates/
config.py
data/
docs/
README.md
LICENSE
requirements.txt
run.py
src/
    ChainComplex.py
    ChernCharacter.py
    CoherentSheaf.py
    DerivedCategoryObject.py
    DistinguishedTriangle.py
    LocalP2.py
    MassPlot.py
    model.py
    ProjectiveCY.py
    SphericalTwist.py
tests/
  • app: Contains the application code for Flask to serve the correct files
  • config.py: Configuration files for the project
  • data: Directory for storing data files
  • docs: Documentation files
  • src: The main source code for the backend mass computations
  • tests: Unit tests for the project

Currently the majority of documentatinon is given for the back-end code in the src/ directory. The documentation modus used for this project is Doxygen, and the documentation files can be easily accessed from the root directory of this project (i.e. /DerivedCategoryMass) by running

firefox docs/html/index.html  # Linux
open docs/html/index.html      # macOS
start docs\html\index.html     # Windows

Example of Doxygen documentation

Future Improvements

K3 surfaces are possibly the most interesting example of the three Calabi-Yau geometries to choose from since their cohomology is well-enough behaved to allow one to compute successive twists of line bundles. Currently, the program only allows for one to compute up to two twists around line bundles — theoretically we can compute as many as we want, though implementing the mass function for this will generally require a large number of cases since there are many possible permutations of the order of O(a), O(b), O(c), O(d)... . In particular, implementing a n-fold spherical twist will generally require (n+1)! cases.

If larger numbers of spherical twists were to be considered for K3 surfaces, it would also be wise to create a class for an arbitrary number of spherical twists; currently using two classes for SphericalTwist and DoubleSphericalTwist works fine, but it would be a bit cumbersome to keep on creating a new class for each number of twists.

It is difficult mathematically to compute higher numbers of spherical twists for Local P1 and Local P2 since the derived RHom of a line bundle with a single spherical twist leads to a long exact sequence that is incredibly difficult to resolve. Ultimately, this requires homological algebra that is beyond me.

Another potential improvement would to be implementing interactions between divisors; for starters, this would allow us to consider twists for higher-rank K3 surfaces. However, the main benefit is this would allow us to consider much more interesting geometries such as local P1 x P1, and other del Pezzo surfaces.

License

This project is licensed under the MIT License. See the LICENSE file for details.

About

Program which computes the mass of spherical twists for Local P1, Local P2, and K3 surfaces (of Picard rank 1).

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages